제출 #592909

#제출 시각아이디문제언어결과실행 시간메모리
592909SofiatpcSimple game (IZhO17_game)C++14
22 / 100
1079 ms5432 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 1000005; int N,M, h[MAXN]; int marc[MAXN]; int main() { cin>>N>>M; for(int i = 1; i <= N; i++)cin>>h[i]; for(int i = 1; i <= N; i++) { if(i==N) { marc[h[i]]++; break; } int s = min(h[i],h[i+1]), f = max(h[i],h[i+1]); if(s==f) { marc[s]++; continue; } for(int k = s; k < f; k++)marc[k]++; } for(int m = 1; m <= M; m++) { int q; cin>>q; if(q==1) { int p,v; cin>>p>>v; if(p==N) marc[h[p]]--; else { int ls = min(h[p],h[p+1]), lf = max(h[p],h[p+1]); for(int k = ls; k < lf; k++)marc[k]--; int s = min(v,h[p+1]), f = max(v,h[p+1]); for(int k = s; k < f; k++)marc[k]++; } if(p!=1) { int ls = min(h[p],h[p-1]), lf = max(h[p],h[p-1]); for(int k = ls; k < lf; k++)marc[k]--; int s = min(v,h[p-1]), f = max(v,h[p-1]); for(int k = s; k < f; k++)marc[k]++; } h[p]=v; } else { int x; cin>>x; cout<<marc[x]<<"\n"; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...