Submission #12098

#TimeUsernameProblemLanguageResultExecution timeMemory
12098ainu7배낭 문제 준비하기 (GA9_invknapsack)C++98
100 / 100
0 ms1676 KiB
#include <math.h> #include <stdio.h> #include <string.h> #include <vector> #include <string> #include <queue> #include <map> #include <algorithm> #include <cmath> #include <iostream> #include <sstream> #include <set> using namespace std; int main() { vector<int> V(63, 2); for (int i=0; i<10; i++) V[i] = 1; long long prv[301] = {0}; prv[0] = 1; for (int i=0; i<V.size(); i++) { long long nxt[301] = {0}; for (int j=0; j<=300; j++) { nxt[j] = prv[j]; if (j >= V[i]) nxt[j] += prv[j-V[i]]; } for (int j=0; j<=300; j++) prv[j] = nxt[j]; } // for (int i=0; i<=300; i++) // printf("%3d %18lld\n", i, prv[i]); long long t; cin >> t; for (int i=58; i>=0; i--) { while (t >= prv[i]) { V.push_back(300-i); t -= prv[i]; } } printf("%d 300\n", V.size()); for (int i=0; i<V.size(); i++) printf("%d ", V[i]); printf("\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...