Submission #314098

#TimeUsernameProblemLanguageResultExecution timeMemory
314098lukameladzeThe Big Prize (IOI17_prize)C++14
0 / 100
110 ms384 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++)
     {
          std::vector<int>  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;
               std::vector<int>  res=ask(mid);
            if (res[0]+res[1]==0)
            {
              return 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++)
          {
              std::vector<int>  
	       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:50:20: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
   50 |           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:41:31: warning: 'x1' may be used uninitialized in this function [-Wmaybe-uninitialized]
   41 |                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...