Submission #165197

#TimeUsernameProblemLanguageResultExecution timeMemory
165197theStaticMindDeda (COCI17_deda)C++14
140 / 140
170 ms4740 KiB
#include<bits/stdc++.h> #define mp make_pair #define pb push_back #define ii pair<int,int> #define all(x) (x).begin(),(x).end() #define INF 100000000000000000 #define modulo 1000000007 #define mod 998244353 #define int long long int using namespace std; int32_t main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); // freopen("q.gir","r",stdin); // freopen("q.cik","w",stdout); int n,q; cin>>n>>q; int sq=sqrt(n); vector<int>no; for(int i=0;i<=n;i++)no.pb(i/sq); vector<int>Mo(no.back()+1,INF); vector<int>P(n+1,INF); for(int i=0;i<q;i++){ char c; int x,y; cin>>c>>x>>y; if(c=='M'){ P[y]=x; Mo[no[y]]=min(Mo[no[y]],x); } else{ int ind=y,ans=-1; while(ind<=n&&no[ind]==no[ind-1]){ if(P[ind]<=x){ ans=ind; break; } ind++; } if(ind<=n&&ans==-1){ int N=no[ind]; while(N<Mo.size()&&Mo[N]>x)N++; if(N!=Mo.size()){ ind=N*sq; while(ind<=n&&no[ind]==N){ if(P[ind]<=x){ ans=ind; break; } ind++; } } } cout<<ans<<"\n"; } } }

Compilation message (stderr)

deda.cpp: In function 'int32_t main()':
deda.cpp:43:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                         while(N<Mo.size()&&Mo[N]>x)N++;
                               ~^~~~~~~~~~
deda.cpp:44:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                         if(N!=Mo.size()){
                            ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...