제출 #850237

#제출 시각아이디문제언어결과실행 시간메모리
8502371075508020060209tcMađioničar (COI22_madionicar)C++14
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> using namespace std; //#define int long long map<pair<int,int>,int>mp; map<pair<int,int>,int>vis; int cnt=0; int ask(int l,int r){ if(l==r){return 1;} if(vis[{l,r}]){return mp[{l,r}];} cnt++; if(cnt==200001){ cout<<"! "<<7777777<<endl; exit(0); } cout<<"? "<<l<<" "<<r<<endl; int ret; vis[{l,r}]=1; cin>>ret; mp[{l,r}]=ret; return ret; } int n; int rpl[300005]; int rask(int l,int r){ if(l==r){return 1;} if(l%2==1){l++;} if(r%2==1){r--;} if(l==r){return 1;} l=(l+1)/2;r=(r+1)/2; return ask(l,r); } int par[300005]; //*#a#a#a#b# signed main(){ cin>>n; int l=1;int r=1; int ans=0; par[1]=1; for(int i=2;i<=n+n+1-ans;i++){ if(r<i){ par[i]=1;int lit=i-1;int rit=i+1; while(lit>=1&&rit<=n+n+1&&rask(lit,rit)==1){lit--;rit++;par[i]++;} }else{ par[i]=min(r-i+1,par[l+(r-i+1)-1]); int lit=i-par[i];int rit=i+par[i]; while(lit>=1&&rit<=n+n+1&&rask(lit,rit)==1){lit--;rit++;par[i]++;} } if(i+par[i]-1>r){ r=i+par[i]-1; l=i-par[i]+1; } ans=max(ans,par[i]); } int ans=0; for(int i=1;i<=n+n+1;i++){ ans=max(ans,par[i]); } cout<<"! "<<ans-1<<endl; }

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

Main.cpp: In function 'int main()':
Main.cpp:57:5: error: redeclaration of 'int ans'
   57 | int ans=0;
      |     ^~~
Main.cpp:40:5: note: 'int ans' previously declared here
   40 | int ans=0;
      |     ^~~