Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- vector <int> direzione, dimensione;
- struct pesci{
- int peso; //dimensione
- int verso; //direzione
- pesci() {}
- pesci(int p, int v) : peso(p), verso(v) {} //costruttore
- };
- int mangia(int N)
- {
- stack<pesci> s;
- for (int i = 0; i < N; i++)
- {
- if (direzione[i] == 1)
- {
- while (s.top().peso < dimensione[i] && !s.empty() && s.top().verso == 0)
- s.pop();
- if (s.empty() || s.top().verso == 1)
- s.push({dimensione[i],direzione[i]});
- }
- else
- s.push({dimensione[i],direzione[i]});
- }
- return s.size();
- }
- int main()
- {
- FILE *fr, *fw;
- int N, i, a, b;
- fr = fopen("input.txt", "r");
- fw = fopen("output.txt", "w");
- fscanf(fr, "%d\n", &N);
- for(i=0; i<N; i++)
- {
- fscanf(fr, "%d %d\n", &a, &b);
- direzione.push_back(a);
- dimensione.push_back(b);
- }
- fprintf(fw, "%d\n", mangia(N));
- fclose(fr);
- fclose(fw);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement