Submission #314094

#TimeUsernameProblemLanguageResultExecution timeMemory
314094lukameladzeThe Big Prize (IOI17_prize)C++14
0 / 100
79 ms376 KiB
#include "prize.h"
# include <bits/stdc++.h>

int find_best(int n) 
{
    std::vector<int> res;
    int le,l,x1,x2,mx,mid,ri,ans;
    
	for (int i=0; i<=500; i++)
     {
          res=ask(i);
          if (res[0]+res[1]==0)
          {
               return i;
          }
          if (res[0]+res[1]>=mx)
          {
               mx=res[0]+res[1];
               l=i;
               x1=res[0];
               x2=res[1];
          }
     }
 
     while (true)
     {
          le=l+1;
          ri=n-1;
          while (le<=ri)
          {
               mid=(le+ri)/2;
               res=ask(mid);
               if (res[0]+res[1]!=mx)
               {
                    ans=mid;
               }
               if (res[0]==x1 && res[0]+res[1]==mx)
               {
                    le=mid+1;
               }
               else
               {
                    ri=mid-1;
               }
          }
          for (int i=ans+1; i<n; i++)
          {
               res=ask(i);
               if (res[0]+res[1]==0)
               {
                    return i;
               }
               if (res[0]+res[1]==mx)
               {
                    l=i;
                    x1=res[0];
                    break;
               }
          }
          
     }
}

Compilation message (stderr)

prize.cpp: In function 'int find_best(int)':
prize.cpp:7:17: warning: variable 'x2' set but not used [-Wunused-but-set-variable]
    7 |     int le,l,x1,x2,mx,mid,ri,ans;
      |                 ^~
prize.cpp:46:20: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
   46 |           for (int i=ans+1; i<n; i++)
      |                    ^
prize.cpp:16:11: warning: 'mx' may be used uninitialized in this function [-Wmaybe-uninitialized]
   16 |           if (res[0]+res[1]>=mx)
      |           ^~
prize.cpp:37:31: warning: 'x1' may be used uninitialized in this function [-Wmaybe-uninitialized]
   37 |                if (res[0]==x1 && res[0]+res[1]==mx)
prize.cpp:27:13: warning: 'l' may be used uninitialized in this function [-Wmaybe-uninitialized]
   27 |           le=l+1;
      |           ~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...