Submission #18502

#TimeUsernameProblemLanguageResultExecution timeMemory
18502gs14004생일수 I (GA4_birthday1)C++14
100 / 100
181 ms5628 KiB
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <limits.h> #include <stack> #include <queue> #include <map> #include <set> #include <algorithm> #include <string> #include <functional> #include <vector> #include <numeric> #include <deque> #include <bitset> #include <iostream> using namespace std; typedef long long lint; typedef long double llf; typedef pair<int, int> pi; int dp[1000005]; int d[3] = {3, 5, 8}; void solve(int x){ if(x == 0){ putchar('\n'); return; } for(int i=0; i<3; i++){ if(x >= d[i] && dp[x] == dp[x - d[i]] + 1){ putchar(d[i] + '0'); solve(x - d[i]); return; } } } int main(){ memset(dp, 0x3f, sizeof(dp)); dp[0] = 1; for(int i=1; i<=1000000; i++){ for(int j=0; j<3; j++){ if(i >= d[j]){ dp[i] = min(dp[i - d[j]] + 1, dp[i]); } } } int t; cin >> t; while(t--){ int n; cin >> n; if(dp[n] > 1e9){ puts("-1"); continue; } solve(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...