Submission #1045070

#TimeUsernameProblemLanguageResultExecution timeMemory
1045070woodMechanical Doll (IOI18_doll)C++17
0 / 100
17 ms7448 KiB
#include "doll.h" #include <bits/stdc++.h> using namespace std; #define pb push_back void create_circuit(int M, std::vector<int> A) { int N = A.size(); std::vector<int> C(M + 1); vector<int> adj[M]; for(int i = 0; i<N; i++){ if(i<N-1) adj[A[i]-1].pb(A[i+1]); else adj[A[i]-1].pb(0); } vector<int> res(M+1), x, y; bool done[M]; memset(done,0,sizeof done); int switchcnt = 0; res[0] = A[0]; for(int i = 0; i<N; i++){ if(done[A[i]-1]) continue; done[A[i]-1] = true; if(adj[i].size()==1) res[A[i]] = adj[A[i]-1][0]; if(adj[i].size()==2){ res[A[i]] = -switchcnt-1; switchcnt++; x.pb(adj[i][0]); y.pb(adj[i][1]); } } answer(res,x,y); }

Compilation message (stderr)

In file included from /usr/include/string.h:495,
                 from /usr/include/c++/10/cstring:42,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:48,
                 from doll.cpp:2:
In function 'void* memset(void*, int, size_t)',
    inlined from 'void create_circuit(int, std::vector<int>)' at doll.cpp:15:22:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:71:33: warning: 'void* __builtin_memset(void*, int, long unsigned int)' specified bound 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Wstringop-overflow=]
   71 |   return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
      |          ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...