Advertisement
Guest User

Pesci vi amo <3

a guest
Jul 28th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. vector <int> direzione, dimensione;
  6.  
  7. struct pesci{
  8.     int peso; //dimensione
  9.     int verso; //direzione
  10.    
  11.     pesci() {}
  12.     pesci(int p, int v) : peso(p), verso(v) {} //costruttore
  13. };
  14.  
  15. int mangia(int N)
  16. {
  17.     stack<pesci> s;
  18.  
  19.     for (int i = 0; i < N; i++)
  20.     {
  21.         if (direzione[i] == 1)
  22.         {
  23.             while (s.top().peso < dimensione[i] && !s.empty() && s.top().verso == 0)
  24.                 s.pop();
  25.             if (s.empty() || s.top().verso == 1)
  26.                 s.push({dimensione[i],direzione[i]});
  27.         }
  28.         else
  29.             s.push({dimensione[i],direzione[i]});
  30.     }
  31.     return s.size();
  32. }
  33.  
  34. int main()
  35. {
  36.     FILE *fr, *fw;
  37.     int N, i, a, b;
  38.     fr = fopen("input.txt", "r");
  39.     fw = fopen("output.txt", "w");
  40.     fscanf(fr, "%d\n", &N);
  41.     for(i=0; i<N; i++)
  42.     {
  43.         fscanf(fr, "%d %d\n", &a, &b);
  44.         direzione.push_back(a);
  45.         dimensione.push_back(b);
  46.     }
  47.     fprintf(fw, "%d\n", mangia(N));
  48.     fclose(fr);
  49.     fclose(fw);
  50.     return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement