제출 #466044

#제출 시각아이디문제언어결과실행 시간메모리
466044blue비스킷 담기 (IOI20_biscuits)C++17
0 / 100
3 ms332 KiB
#include "biscuits.h" #include <vector> using namespace std; //x = number of people (p) //y = tastiness of each bag (i) void tle_assert(bool b) { if(!b) while(1); } long long solve(vector<int> B) { if(B.empty()) return 1; //Case 1 long long ans1 = 1; for(int i = 0; i < (int)B.size(); i++) ans1 *= 2; //Case 2 long long ans2; int pos2 = -1; for(int i = (int)B.size() - 1; i >= 0; i--) if(B[i] == 2) { pos2 = i; break; } if(pos2 == -1) ans2 = 0; else { B.resize(pos2); ans2 = solve(B); } return ans1 + ans2; } long long count_tastiness(long long x, vector<long long> a) { while((int)a.size() < 62) a.push_back(0); int k = (int)a.size(); for(int i = 0; i+1 < k; i++) { long long M; if(a[i] % 2 == 1) { M = 2*(a[i]-1)/2; } else if(a[i] % 2 == 0 && a[i] > 2) { M = 2*(a[i]-2)/2; } a[i+1] += M/2; a[i] -= M; } vector<int> B; long long res = 1; for(int i = 0; i < k; i++) { if(a[i] == 0) { res *= solve(B); B.clear(); } else B.push_back(a[i]); } return res; }

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

biscuits.cpp: In function 'long long int count_tastiness(long long int, std::vector<long long int>)':
biscuits.cpp:59:14: warning: 'M' may be used uninitialized in this function [-Wmaybe-uninitialized]
   59 |         a[i] -= M;
#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...