Submission #102567

#TimeUsernameProblemLanguageResultExecution timeMemory
102567tinjyu커다란 상품 (IOI17_prize)C++14
Compilation error
0 ms0 KiB
#include "prize.h" #include <bits/stdc++.h> using namespace std; int m,ball=0,a[200005][2],ans=-1; int find(int x) { if(a[x][0]==-1) { std::vector<int> res = ask(x); a[x][0]=res[0]; a[x][1]=res[1]; } return 0; } int solve(int s,int e){ //cout<<s<<" "<<e<<endl; if(s>=e-1)return 0; if(ans!=-1)return 0; if(s+e%2==0)int ne=(s+e)/2,ns=(s+e)/2; else int ne=(s+e)/2+1,ns=(s+e)/2+1; while(ns<e) { find(ns); if(a[ns][0]+a[ns][1]==0) { ans=ns; return 0; } if(a[ns][0]+a[ns][1]!=ball)ns++; else break; } while(s<ne) { find(ne); if(a[ne][0]+a[ne][1]==0) { ans=ne; break; } if(a[ne][0]+a[ne][1]!=ball)ne--; else break; } //cout<<ne<<" "<<ns<<endl; if(a[s][0]!=a[ne][0] )solve(s,ne); if(a[ns][0]!=a[e][0] )solve(ns,e); } int find_best(int n) { for(int i=0;i<n;i++) { a[i][0]=-1; a[i][1]=-1; } for(int i = 0; i < 473; i++) { find(i); //cout<<a[i][0]<<" "<<a[i][1]<<endl; if(a[i][0]+a[i][1]==0) { ans=i; break; } if(a[i][0] + a[i][1] > ball) { m=i; ball=a[i][0]+a[i][1]; } } if(ans!=-1)return ans; // cout<<m<<endl; int start=0,end=n-1; while(true) { find(start); if(a[start][0]+a[start][1]==0)ans=start; if(a[start][0]+a[start][1]!=ball)start++; else break; } while(true) { find(end); if(a[end][0]+a[end][1]==0)ans=end; if(a[end][0]+a[end][1]!=ball)end--; else break; } if(ans!=-1)return ans; //cout<<start<<" "<<end<<endl; solve(start,m); solve(m,end); return ans; }

Compilation message (stderr)

prize.cpp: In function 'int solve(int, int)':
prize.cpp:19:18: warning: unused variable 'ne' [-Wunused-variable]
  if(s+e%2==0)int ne=(s+e)/2,ns=(s+e)/2;
                  ^~
prize.cpp:19:29: warning: unused variable 'ns' [-Wunused-variable]
  if(s+e%2==0)int ne=(s+e)/2,ns=(s+e)/2;
                             ^~
prize.cpp:20:11: warning: unused variable 'ne' [-Wunused-variable]
  else int ne=(s+e)/2+1,ns=(s+e)/2+1;
           ^~
prize.cpp:20:24: warning: unused variable 'ns' [-Wunused-variable]
  else int ne=(s+e)/2+1,ns=(s+e)/2+1;
                        ^~
prize.cpp:21:8: error: 'ns' was not declared in this scope
  while(ns<e)
        ^~
prize.cpp:21:8: note: suggested alternative: 's'
  while(ns<e)
        ^~
        s
prize.cpp:32:10: error: 'ne' was not declared in this scope
  while(s<ne)
          ^~
prize.cpp:32:10: note: suggested alternative: 'e'
  while(s<ne)
          ^~
          e
prize.cpp:44:16: error: 'ne' was not declared in this scope
  if(a[s][0]!=a[ne][0] )solve(s,ne);
                ^~
prize.cpp:44:16: note: suggested alternative: 'e'
  if(a[s][0]!=a[ne][0] )solve(s,ne);
                ^~
                e
prize.cpp:45:7: error: 'ns' was not declared in this scope
  if(a[ns][0]!=a[e][0] )solve(ns,e);
       ^~
prize.cpp:45:7: note: suggested alternative: 's'
  if(a[ns][0]!=a[e][0] )solve(ns,e);
       ^~
       s