Submission #524174

# Submission time Handle Problem Language Result Execution time Memory
524174 2022-02-08T18:20:40 Z nickmet2004 Simple game (IZhO17_game) C++11
49 / 100
162 ms 11212 KB
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e6 + 5;
int n,m, a[N],  F[2000005];
void upd(int i , int d){
    while(i <= N){
        F[i] += d;
        i += i & -i;
    }
}
int get(int i){
    int s= 0;
    while(i){
        s += F[i] , i -= i&-i;
    }
    return s;
}
void M(int A , int p , int h){
    if(A > h){
        upd(h , +1);
        if(a[p] >= A){
            upd(a[p] + 1 , +1);
            upd(A , -2);
        }
        else {
            upd(a[p] , -1);
        }
    }else {
        upd(h + 1 , -1);
        if(a[p] >= A){
            upd(a[p]+ 1 , +1);
        }else {
            upd(a[p] , -1);
            upd(A+1 , +2);
        }
    }
}
 main (){
    ios_base::sync_with_stdio(0); cin.tie(0);
    cin >> n>>m;
    for(int i =1; i<= n; ++i)cin>>a[i];
    for(int i = 1; i< n; ++i){
        int x = a[i] , y = a[i + 1];
        if(x > y)swap(x , y);
        upd(x , 1),
        upd(y + 1 ,-1);
    }
    while(m--){
        int x;
        cin >> x;
        if(x==1){
            int p , h;
            cin >> p >> h;
            int A=-1 , B=-1;
            if(p==1) A = a[p+1];
            else if(p==n) B = a[p-1];
            else A = a[p-1] , B = a[p+1];
            if(A != -1)M(A , p , h);
            if(B != -1) M(B , p , h);
            a[p]=h;
        }else {
            int h;cin>>h;
            cout << get(h)<<endl;
        }
    }
}

Compilation message

game.cpp:39:2: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   39 |  main (){
      |  ^~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 332 KB Output is correct
2 Correct 4 ms 6752 KB Output is correct
3 Correct 4 ms 6620 KB Output is correct
4 Correct 4 ms 6732 KB Output is correct
5 Correct 4 ms 6604 KB Output is correct
6 Correct 4 ms 6808 KB Output is correct
7 Correct 2 ms 336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 332 KB Output is correct
2 Correct 4 ms 6752 KB Output is correct
3 Correct 4 ms 6620 KB Output is correct
4 Correct 4 ms 6732 KB Output is correct
5 Correct 4 ms 6604 KB Output is correct
6 Correct 4 ms 6808 KB Output is correct
7 Correct 2 ms 336 KB Output is correct
8 Correct 137 ms 2072 KB Output is correct
9 Correct 157 ms 11144 KB Output is correct
10 Correct 162 ms 11212 KB Output is correct
11 Correct 141 ms 1928 KB Output is correct
12 Correct 152 ms 3332 KB Output is correct
13 Correct 144 ms 3172 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 332 KB Output is correct
2 Correct 4 ms 6752 KB Output is correct
3 Correct 4 ms 6620 KB Output is correct
4 Correct 4 ms 6732 KB Output is correct
5 Correct 4 ms 6604 KB Output is correct
6 Correct 4 ms 6808 KB Output is correct
7 Correct 2 ms 336 KB Output is correct
8 Correct 137 ms 2072 KB Output is correct
9 Correct 157 ms 11144 KB Output is correct
10 Correct 162 ms 11212 KB Output is correct
11 Correct 141 ms 1928 KB Output is correct
12 Correct 152 ms 3332 KB Output is correct
13 Correct 144 ms 3172 KB Output is correct
14 Incorrect 112 ms 11076 KB Output isn't correct
15 Halted 0 ms 0 KB -