Submission #337614

#TimeUsernameProblemLanguageResultExecution timeMemory
337614boykutSimple game (IZhO17_game)C++14
22 / 100
1096 ms4460 KiB
#include <bits/stdc++.h>

using namespace std;

int mas[1000001];

signed main() {
   ios::sync_with_stdio(0);
   cin.tie(0);
   
   int n, m;
   cin >> n >> m;
   
   int h[n];
   
   for (int i = 0; i < n; i++) {
      cin >> h[i];
      if (i) {
         for (int j = h[i - 1]; j <= h[i]; j++) mas[j]++;
         for (int j = h[i - 1]; j >= h[i]; j--) mas[j]++;
      }
   }
   
   for (int test = m; test--;) {
      int x;
      cin >> x;
      
      if (x == 1) {
         int pos, val;
         cin >> pos >> val;
         pos--;
         if (pos) {
            for (int j = h[pos - 1]; j <= h[pos]; j++) mas[j]--;
            for (int j = h[pos - 1]; j >= h[pos]; j--) mas[j]--;
         }
         if (pos + 1 < n) {
            for (int j = h[pos + 1]; j <= h[pos]; j++) mas[j]--;
            for (int j = h[pos + 1]; j >= h[pos]; j--) mas[j]--;
         }
         h[pos] = val;
         if (pos) {
            for (int j = h[pos - 1]; j <= h[pos]; j++) mas[j]++;
            for (int j = h[pos - 1]; j >= h[pos]; j--) mas[j]++;
         }
         if (pos + 1 < n) {
            for (int j = h[pos + 1]; j <= h[pos]; j++) mas[j]++;
            for (int j = h[pos + 1]; j >= h[pos]; j--) mas[j]++;
         }
      } else {
         int H;
         cin >> H;
         cout << mas[H] << '\n';
      }
   }
   
   return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...