제출 #777877

#제출 시각아이디문제언어결과실행 시간메모리
777877Ahmed57Tenis (COI19_tenis)C++17
100 / 100
143 ms6612 KiB
#include <bits/stdc++.h> using namespace std; int seg[400001]; int lazy[400001]; void prop(int p,int l,int r){ seg[p]+=lazy[p]; if(l!=r){ lazy[p*2]+=lazy[p]; lazy[p*2+1]+=lazy[p]; } lazy[p] = 0; } void build(int p,int l,int r){ if(l==r){ seg[p] = l; return ; } int md = (l+r)/2; build(p*2,l,md);build(p*2+1,md+1,r); seg[p] = min(seg[p*2],seg[p*2+1]); } void update(int p,int l,int r,int lq,int rq,int val){ prop(p,l,r); if(l>=lq&&r<=rq){ lazy[p]+=val; prop(p,l,r); return ; } if(l>rq||r<lq)return ; int md = (l+r)/2; update(p*2,l,md,lq,rq,val);update(p*2+1,md+1,r,lq,rq,val); seg[p] = min(seg[p*2],seg[p*2+1]); } int query(int p,int l,int r){ if(l==r){ return l; } int md = (l+r)/2; prop(p*2,l,md);prop(p*2+1,md+1,r); if(seg[p*2]==0)return query(p*2,l,md); else return query(p*2+1,md+1,r); } int main(){ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n,q; cin>>n>>q; int arr1[n+1],arr2[n+1],arr3[n+1]; int ind1[n+1],ind2[n+1],ind3[n+1]; for(int i = 1;i<=n;i++){ int x;cin>>x; ind1[x] = i; }for(int i = 1;i<=n;i++){ int x;cin>>x; ind2[x] = i; }for(int i = 1;i<=n;i++){ int x;cin>>x; ind3[x] = i; } build(1,1,n); for(int i = 1;i<=n;i++){ update(1,1,n,max({ind1[i],ind2[i],ind3[i]}),n,-1); } while(q--){ int ty;cin>>ty; if(ty==1){ int x;cin>>x; prop(1,1,n); if(max({ind1[x],ind2[x],ind3[x]})<=query(1,1,n)){ cout<<"DA\n"; }else cout<<"NE\n"; }else{ int p,a,b;cin>>p>>a>>b; update(1,1,n,max({ind1[a],ind2[a],ind3[a]}),n,1); update(1,1,n,max({ind1[b],ind2[b],ind3[b]}),n,1); if(p==1)swap(ind1[a],ind1[b]); if(p==2)swap(ind2[a],ind2[b]); if(p==3)swap(ind3[a],ind3[b]); update(1,1,n,max({ind1[a],ind2[a],ind3[a]}),n,-1); update(1,1,n,max({ind1[b],ind2[b],ind3[b]}),n,-1); } } }

컴파일 시 표준 에러 (stderr) 메시지

tenis.cpp: In function 'int main()':
tenis.cpp:48:9: warning: unused variable 'arr1' [-Wunused-variable]
   48 |     int arr1[n+1],arr2[n+1],arr3[n+1];
      |         ^~~~
tenis.cpp:48:19: warning: unused variable 'arr2' [-Wunused-variable]
   48 |     int arr1[n+1],arr2[n+1],arr3[n+1];
      |                   ^~~~
tenis.cpp:48:29: warning: unused variable 'arr3' [-Wunused-variable]
   48 |     int arr1[n+1],arr2[n+1],arr3[n+1];
      |                             ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...