제출 #644922

#제출 시각아이디문제언어결과실행 시간메모리
644922ALITram (CEOI13_tram)C++14
45 / 100
848 ms262144 KiB
#include <bits/stdc++.h> using namespace std; using ll=long long; int inf=1e9; void update(vector<int>& tr,int val, int u, int curL, int curR, int ind){ if(curL==curR&&curL==u){ tr[ind]=val; return; } int mid=(curR+curL)/2; if(!(u>mid||u<curL)) update(tr,val,u,curL,mid,ind*2+1); else update(tr,val,u,mid+1,curR,ind*2+2); tr[ind]=min(tr[ind*2+1],tr[ind*2+2]); } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); int n,m; cin>>n>>m; int sze=1; while(sze<n*2){ sze<<=1; } array<vector<int>,3000> tr; for(vector<int>& v:tr){ v.assign(sze*2-1,inf); } vector<pair<int,int>> oper(m); int x=0; int y=0; for(int l=0;l<m;l++){ char ch; cin>>ch; if(ch=='E'){ int ind=x*2+y; int maxi=0; int nx,ny; for(int i=0;i<2*n;i++){ int x2=i/2; int y2=i%2; update(tr[i],(x-x2)*(x-x2)+(y-y2)*(y-y2),ind,0,2*n-1,0); if(maxi<tr[i][0]){ maxi=tr[i][0]; nx=x2; ny=y2; } } oper[l]=make_pair(x,y); cout<<(x+1)<<" "<<(y+1)<<endl; swap(nx,x); swap(ny,y); }else{ int ind; cin>>ind; int nx; int ny; int maxi=0; ind=oper[ind-1].first*2+oper[ind-1].second; for(int i=0;i<2*n;i++){ update(tr[i],inf,ind,0,2*n-1,0); if(maxi<tr[i][0]){ maxi=tr[i][0]; nx=i/2; ny=i%2; } } swap(nx,x); swap(ny,y); } } }

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

tram.cpp: In function 'int main()':
tram.cpp:49:35: warning: 'y' may be used uninitialized in this function [-Wmaybe-uninitialized]
   49 |             cout<<(x+1)<<" "<<(y+1)<<endl;
      |                                   ^
tram.cpp:49:26: warning: 'x' may be used uninitialized in this function [-Wmaybe-uninitialized]
   49 |             cout<<(x+1)<<" "<<(y+1)<<endl;
      |                          ^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...