Advertisement
Malinovsky239

Task C (9.05.11)

May 9th, 2011
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.88 KB | None | 0 0
  1. #include <cstdio>
  2. #include <iostream>
  3.  
  4. #define N int(5e4 + 5)
  5.  
  6. using namespace std;
  7.  
  8. int z[N], n, m;
  9.  
  10. int main()
  11. {
  12.     freopen("rect2.in", "r", stdin);
  13.     freopen("rect2.out", "w", stdout);
  14.  
  15.     scanf("%d ", &n);
  16.     for (int i = 1; i <= n; i++)
  17.         scanf("%d ", z + i);
  18.  
  19.     scanf("%d ", &m);
  20.     for (int i = 0; i < m; i++)
  21.     {
  22.         char query;
  23.         scanf("%c ", &query);
  24.        
  25.         if (query == 'Q')
  26.         {
  27.             int res = 0;
  28.             int x1, x2, y1, y2;
  29.  
  30.             scanf("%d %d %d %d ", &x1, &y1, &x2, &y2);
  31.             for (int i = x1; i <= x2; i++)
  32.             {
  33.                 int val1 = min(y2, z[i]) - y1;
  34.                 int val2 = y2 - y1 - val1;
  35.  
  36.                 if (val1 > val2)
  37.                     res++;         
  38.                 if (val2 > val1)
  39.                     res--;             
  40.             }
  41.  
  42.             if (res > 0) cout << "2\n";
  43.             if (res < 0) cout << "1\n";
  44.             if (!res) cout << "0\n";
  45.         }
  46.         else
  47.         {
  48.             int x, dz;
  49.             scanf("%d %d %d %d ", &x, &dz);
  50.             z[x] = dz;
  51.         }
  52.     }
  53.  
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement