# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
593310 | 2022-07-10T20:34:28 Z | Lawliet | Simple game (IZhO17_game) | C++17 | 6 ms | 8404 KB |
#include <bits/stdc++.h> #define MAX 1000010 using namespace std; class FenwickTree { public: void update(int i, int v) { for( ; i > 0 ; i -= i&-i) BIT[ i ] += v; } void sumInterval(int l, int r, int v) { update(r , v); if(l > 0) update(l - 1 , -v); } int query(int i) { int ans = 0; for( ; i < MAX ; i += i & -i) ans += BIT[ i ]; return ans; } FenwickTree() { memset(BIT , 0 , sizeof(BIT)); } private: int BIT[MAX]; }; int n, m; int n1, n2, n3; int v[MAX]; FenwickTree BIT; void update(int i, int k) { if(2 <= i && i <= n) BIT.sumInterval(min(v[ i ] , v[i - 1]) , max(v[i] , v[i - 1]) , k); } int main() { scanf("%d %d",&n,&m); assert(n <= 1000); assert(m <= 1000); for(int g = 1 ; g <= n ; g++) scanf("%d",&v[g]); for(int g = 1 ; g <= n ; g++) update(g , 1); for(int g = 0 ; g < m ; g++) { scanf("%d %d",&n1,&n2); if(n1 == 1) { scanf("%d",&n3); update(n2 , -1); update(n2 + 1 , -1); v[ n2 ] = n3; update(n2 , 1); update(n2 + 1 , 1); } else printf("%d\n",BIT.query( n2 )); } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 4180 KB | Output is correct |
2 | Correct | 3 ms | 4180 KB | Output is correct |
3 | Correct | 3 ms | 4232 KB | Output is correct |
4 | Correct | 3 ms | 4180 KB | Output is correct |
5 | Correct | 3 ms | 4180 KB | Output is correct |
6 | Correct | 3 ms | 4180 KB | Output is correct |
7 | Correct | 3 ms | 4180 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 4180 KB | Output is correct |
2 | Correct | 3 ms | 4180 KB | Output is correct |
3 | Correct | 3 ms | 4232 KB | Output is correct |
4 | Correct | 3 ms | 4180 KB | Output is correct |
5 | Correct | 3 ms | 4180 KB | Output is correct |
6 | Correct | 3 ms | 4180 KB | Output is correct |
7 | Correct | 3 ms | 4180 KB | Output is correct |
8 | Runtime error | 6 ms | 8404 KB | Execution killed with signal 6 |
9 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 4180 KB | Output is correct |
2 | Correct | 3 ms | 4180 KB | Output is correct |
3 | Correct | 3 ms | 4232 KB | Output is correct |
4 | Correct | 3 ms | 4180 KB | Output is correct |
5 | Correct | 3 ms | 4180 KB | Output is correct |
6 | Correct | 3 ms | 4180 KB | Output is correct |
7 | Correct | 3 ms | 4180 KB | Output is correct |
8 | Runtime error | 6 ms | 8404 KB | Execution killed with signal 6 |
9 | Halted | 0 ms | 0 KB | - |