Submission #671379

#TimeUsernameProblemLanguageResultExecution timeMemory
671379coding_snorlax커다란 상품 (IOI17_prize)C++14
Compilation error
0 ms0 KiB
#include<bits/stdc++.h> #include "prize.h" using namespace std; int N; int Total=0; int answer; void recurtion(int left,int left_ans,int right,int right_ans,int split_answer){ //cout<<left<<" "<<left_ans<<" "<<right<<" "<<right_ans<<" "<<split_answer<<"\n"; if(!split_answer) return; else{ int M=(left+right)/2; for(int i=M;i>=left;i--){ auto it = ask(i); if((it[0]+it[1])==Total){ recurtion(left,left_ans,i,it[1],it[0]-left_ans); recurtion(M+1,it[0]+(M-i),right,right_ans,it[1]-right_ans-(M-i)); return; } else if(it[0]==0 && it[1]==0){ answer=i; return; } } for(int i=M+1;i<=right;i++){ auto it = ask(i); if((it[0]+it[1])==Total){ recurtion(i+1,it[0],right,right_ans,it[1]-right_ans); return; } else if(it[0]==0 && it[1]==0){ answer=i; return; } } } } int find_best(int n){ N=n; for(int i=1;i<=min(500,n-1);i++){ auto it = ask(i); Total = max(Total, it[0] + it[1]); } if(n<=1024){ for(int i=0;i<n;i++){ auto it = ask(i); if(!(it[0]+it[1])) return i; } } auto it = ask(0); if(it[0]+it[1]) int start = it[0]; int now=i*1024; auto it = ask(now); if(!(it[0]+it[1])) return now; while((it[0]+it[1])<Total){ if(!(it[0]+it[1])) return now; now++; it = ask(now); } for(int i=0;i<(n/1024)+1;i++){ int now1 = min((i+1)*1024,n-1); auto it1 = ask(now1); if(!(it1[0]+it1[1])) return now1; while((it1[0]+it1[1])<Total){ if(!(it1[0]+it1[1])) return now1; now1--; it1 = ask(now1); } recurtion(now,it[0],now1,it1[1],it1[0]-it[0]); now=now1; it=it1; } return answer; }

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:53:9: warning: unused variable 'start' [-Wunused-variable]
   53 |     int start = it[0];
      |         ^~~~~
prize.cpp:54:13: error: 'i' was not declared in this scope; did you mean 'it'?
   54 |     int now=i*1024;
      |             ^
      |             it
prize.cpp:55:10: error: conflicting declaration 'auto it'
   55 |     auto it = ask(now);
      |          ^~
prize.cpp:51:10: note: previous declaration as 'std::vector<int> it'
   51 |     auto it = ask(0);
      |          ^~