제출 #1262297

#제출 시각아이디문제언어결과실행 시간메모리
1262297miniobBroken Device (JOI17_broken_device)C++20
0 / 100
2096 ms4856 KiB
#include "Annalib.h" #include <bits/stdc++.h> using namespace std; long long los[157]; long long bity[60]; long long dosta[60]; int ileju = 0; void add(long long x) { long long mojamaska = (long long)1 << ileju; ileju++; for (int i = 59; i >= 0; i--) { if ((x >> i) & 1) { if (!bity[i]) { bity[i] = x; dosta[i] = mojamaska; return; } x ^= bity[i]; mojamaska ^= dosta[i]; } } } vector<long long> dajpod(long long x) { long long curmaska = 0; for (long long i = 59; i >= 0; i--) { if ((x >> i) & 1) { if (!bity[i]) { return {}; } x ^= bity[i]; curmaska ^= dosta[i]; } } vector<long long> odp; for (long long i = 0; i < ileju; i++) { if ((curmaska >> i) & (long long)1) { odp.push_back(i); } } return odp; } void Anna( int N, long long X, int K, int P[] ){ mt19937_64 rng(N); set<long long> nie; for(int i = 0; i < 150; i++) { bity[i] = false; dosta[i] = 0; } for(long long i = 0; i < K; i++) { nie.insert(P[i]); } for(long long i = 0; i < 150; i++) { los[i] = rng() % (long long)(1100000000000000001); if(nie.find(i) == nie.end()) { add(los[i]); } } vector<long long> git = dajpod(X); set<long long> jedyn; for(auto x : git) { jedyn.insert(x); } for(long long i = 0; i < 150; i++) { if(jedyn.find(i) != jedyn.end()) { Set(i, 1); } else { Set(i, 0); } } }
#include "Brunolib.h" #include <bits/stdc++.h> using namespace std; long long los[157]; long long Bruno( int N, int A[] ){ mt19937_64 rng(N); long long odp = 0; for(int i = 0; i < 150; i++) { los[i] = rng() % (long long)(1100000000000000001); } for(int i = 0; i < N; i++) { if(A[i]) { odp ^= los[i]; } } return odp; }

컴파일 시 표준 에러 (stderr) 메시지

# 1번째 컴파일 단계

Anna.cpp: In function 'void Anna(int, long long int, int, int*)':
Anna.cpp:62:13: warning: iteration 60 invokes undefined behavior [-Waggressive-loop-optimizations]
   62 |     bity[i] = false;
      |     ~~~~~~~~^~~~~~~
Anna.cpp:60:20: note: within this loop
   60 |   for(int i = 0; i < 150; i++)
      |                  ~~^~~~~
Anna.cpp:62:13: warning: 'void* __builtin_memset(void*, int, long unsigned int)' writing 1200 bytes into a region of size 480 overflows the destination [-Wstringop-overflow=]
   62 |     bity[i] = false;
      |     ~~~~~~~~^~~~~~~
Anna.cpp:6:11: note: destination object 'bity' of size 480
    6 | long long bity[60];
      |           ^~~~
Anna.cpp:63:14: warning: 'void* __builtin_memset(void*, int, long unsigned int)' writing 1200 bytes into a region of size 480 overflows the destination [-Wstringop-overflow=]
   63 |     dosta[i] = 0;
      |     ~~~~~~~~~^~~
Anna.cpp:7:11: note: destination object 'dosta' of size 480
    7 | long long dosta[60];
      |           ^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...