Submission #499811

#TimeUsernameProblemLanguageResultExecution timeMemory
499811tmn2005Simple game (IZhO17_game)C++17
0 / 100
2 ms1100 KiB
#include<bits/stdc++.h> using namespace std; typedef long long ll; #define ar array #define fr first #define sc second #define vec vector #define ret return #define ins insert #define mk make_pair #define pb push_back #define pf push_front #define pob pop_back #define pof pop_back #define int long long #define pii pair<int,int> #define all(s) s.begin(), s.end() #define allr(s) s.rbegin(), s.rend() #define NeedForSpeed ios::sync_with_stdio(0),cin.tie(0); #define ordered_set tree<int, null_type,less<int>, rb_tree_tag,tree_order_statistics_node_update> const int N=1e6+12,INF=1e9,mod = 1e9+7; bool iswowel(char n){ n = toupper(n); if(n == 'A' || n == 'O' || n == 'U' || n == 'E' || n == 'I') return true; else return false;} int n,m,k,x,y,l,r,o,ans,res,ok,mx,mn = INF; int a[N],b,c; int t[N*4]; void update(int v,int l,int r,int ql,int qr,int add){ if (r < ql || qr < l) ret; if(ql <= l && r <= qr) t[v] += add; else{ int m = l + r >> 1; update(v*2,l,m,ql, min(m,qr),add); update(v*2+1,m+1,r,max(m+1,ql),qr,add); } } int get(int v,int l,int r,int i){ if(l == r) ret t[v]; int m = l + r >> 1; if(i <= m) ret t[v] + get(v*2,l,m,i); else ret t[v] + get(v*2+1,m+1,r,i); } main(){ NeedForSpeed //freopen("game.in","r",stdin); //freopen("game.out","w",stdout); cin>>n>>m; for(int i=1; i<=n; i++){ cin>>a[i]; } for(int i=2; i<=n; i++){ update(1,1,100000,min(a[i], a[i-1])+1, max(a[i], a[i-1])-1, 1); } while(m--){ cin>>o; if(o == 1){ int i; cin>>i>>x; if(1 < i){ update(1, 1, 100000, min(a[i-1], a[i])+1, max(a[i-1], a[i])-1, -1); } if(i < n){ update(1, 1, 100000, min(a[i+1], a[i])+1, max(a[i+1], a[i])-1, -1); } a[i] = x; if(1 < i){ update(1, 1, 100000, min(a[i-1], a[i])+1, max(a[i-1], a[i])-1, 1); } if(i < n){ update(1, 1, 100000, min(a[i+1], a[i])+1, max(a[i+1], a[i])-1, 1); } } else{ cin>>x; cout<<get(1,1,100000,x)<<endl; } } return 0; }

Compilation message (stderr)

game.cpp: In function 'void update(long long int, long long int, long long int, long long int, long long int, long long int)':
game.cpp:41:13: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   41 |   int m = l + r >> 1;
      |           ~~^~~
game.cpp: In function 'long long int get(long long int, long long int, long long int, long long int)':
game.cpp:49:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   49 |  int m = l + r >> 1;
      |          ~~^~~
game.cpp: At global scope:
game.cpp:55:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   55 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...