Submission #1315826

#TimeUsernameProblemLanguageResultExecution timeMemory
1315826muramasaCave (IOI13_cave)C++20
0 / 100
1 ms332 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; int* filp(int S[],bool valid[],int N,int l,int r){ int comb[N]; for(int i = 0;i < N;i++){ if(l <= i && i <= r){ if(!valid[i])comb[i] = 1 - S[i]; else comb[i] = S[i]; }else comb[i] = S[i]; } return comb; } void exploreCave(int N) { int S[N],D[N]; for(int i = 0;i < N;i++)S[i] = 0; bool valid[N]; for(int i = 0;i < N;i++)valid[i] = 0; for(int i = 0;i < N;i++){ int p = tryCombination(S); int l = 0,r = N - 1,ans = -1; while(l <= r){ int m = (l + r)/2; int* comb = filp(S,valid,N,l,m); int s = tryCombination(comb); if(p == s)l = m + 1; else{ ans = m; r = m; } } D[i] = ans; if(p == i)S[ans] = 1 - S[ans]; } answer(S,D); }

Compilation message (stderr)

cave.cpp: In function 'int* filp(int*, bool*, int, int, int)':
cave.cpp:14:12: warning: address of local variable 'comb' returned [-Wreturn-local-addr]
   14 |     return comb;
      |            ^~~~
cave.cpp:7:9: note: declared here
    7 |     int comb[N];
      |         ^~~~
#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...