Submission #111444

#TimeUsernameProblemLanguageResultExecution timeMemory
111444nxteruKoala Game (APIO17_koala)C++14
37 / 100
93 ms512 KiB
#include "koala.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double D; typedef pair<ll,ll> P; typedef pair<ll,P> T; #define M 1000000007 #define F first #define S second #define PB push_back #define INF 1000000001 int n,b[105],r[105]; void ini(void){ for(int i=0;i<n;i++)b[i]=0; } int minValue(int N, int w) { n=N; ini(); b[0]=1; playRound(b,r); for(int i=0;i<n;i++)if(b[i]>=r[i])return i; } int maxValue(int N,int w) { n=N; vector<int>res; for(int i=0;i<n;i++)res.PB(i); while(res.size()>1){ ini(); for(int i=0;i<res.size();i++)b[res[i]]=w/res.size(); playRound(b,r); res.clear(); for(int i=0;i<n;i++)if(b[i]>0&&b[i]<r[i])res.PB(i); } return res[0]; } int greaterValue(int N, int w) { n=N; ini(); b[0]=4,b[1]=4; playRound(b,r); if(b[0]<r[0]){ if(b[1]>=r[1])return 0; b[0]=7,b[1]=7; playRound(b,r); if(b[0]<r[0]&&b[1]<r[1]){ b[0]=8,b[1]=8; playRound(b,r); } if(b[0]<r[0])return 0; else return 1; }else if(b[1]<r[1])return 1; else{ b[0]=2,b[1]=2; playRound(b,r); if(b[0]>=r[0]&&b[1]>=r[1]){ b[0]=1,b[1]=1; playRound(b,r); } if(b[0]<r[0])return 0; else return 1; } } bool grt(int x,int y){ ini(); b[x]=100,b[y]=100; playRound(b,r); return b[x]>=r[x]; } vector<int> mrg(vector<int>x,vector<int>y){ vector<int>res; int a=0,b=0; while(a<x.size()&&b<y.size()){ if(grt(x[a],y[b]))res.PB(x[a++]); else res.PB(y[b++]); } while(a<x.size())res.PB(x[a++]); while(b<y.size())res.PB(y[b++]); return res; } void allValues(int N, int w, int *p) { n=N; if(w==2*n){ vector<vector<int>>res; for(int i=0;i<n;i++)res.PB(vector<int>{i}); while(res.size()>1){ vector<vector<int>>nw; for(int i=0;i+1<res.size();i++){ nw.PB(mrg(res[i],res[i+1])); } if(res.size()%2==1)nw.PB(res.back()); res.clear(); res.insert(res.begin(),nw.begin(),nw.end()); } for(int i=0;i<n;i++)p[res[0][i]]=i+1; }else{ // TODO: Implement Subtask 5 solution here. // You may leave this block unmodified if you are not attempting this // subtask. } }

Compilation message (stderr)

koala.cpp: In function 'int maxValue(int, int)':
koala.cpp:31:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<res.size();i++)b[res[i]]=w/res.size();
               ~^~~~~~~~~~~
koala.cpp: In function 'std::vector<int> mrg(std::vector<int>, std::vector<int>)':
koala.cpp:75:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while(a<x.size()&&b<y.size()){
        ~^~~~~~~~~
koala.cpp:75:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while(a<x.size()&&b<y.size()){
                    ~^~~~~~~~~
koala.cpp:79:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while(a<x.size())res.PB(x[a++]);
        ~^~~~~~~~~
koala.cpp:80:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while(b<y.size())res.PB(y[b++]);
        ~^~~~~~~~~
koala.cpp: In function 'void allValues(int, int, int*)':
koala.cpp:90:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int i=0;i+1<res.size();i++){
                ~~~^~~~~~~~~~~
koala.cpp: In function 'int minValue(int, int)':
koala.cpp:23:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...