Task: | Lantern Line |
Sender: | kluopaja3 |
Submission time: | 2018-09-13 18:51:41 +0300 |
Language: | C++ |
Status: | READY |
Result: | RUNTIME ERROR |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.03 s | details |
#2 | ACCEPTED | 0.02 s | details |
#3 | ACCEPTED | 0.06 s | details |
#4 | ACCEPTED | 0.10 s | details |
#5 | ACCEPTED | 0.20 s | details |
#6 | RUNTIME ERROR | 0.27 s | details |
#7 | RUNTIME ERROR | 0.31 s | details |
#8 | RUNTIME ERROR | 0.29 s | details |
#9 | RUNTIME ERROR | 0.25 s | details |
#10 | RUNTIME ERROR | 0.24 s | details |
#11 | RUNTIME ERROR | 0.31 s | details |
#12 | RUNTIME ERROR | 0.31 s | details |
#13 | RUNTIME ERROR | 0.31 s | details |
#14 | RUNTIME ERROR | 0.31 s | details |
#15 | RUNTIME ERROR | 0.31 s | details |
Code
#include <bits/stdc++.h> using namespace std; const int MN = 5e5+100; int t[MN]; int dp[MN]; int f(int a, int b) { //cout<<a<<' '<<b<<endl; if(b < 0) return 0; if(a == 0) return 0; if(a == 1) { return min(1, b+1); } if(__builtin_popcount(a) == 1) { return min(b+1, a); } else { int q = 1<<(int)(log2(a)+0.00001); int ans = 0; if(b <= q-1) { ans = f(a-q, b); return ans; } if(dp[a] != -1) { ans = dp[a-q]; } else { dp[a-q] = f(a-q, q-1); ans += dp[a-q]; } ans += f(a-q, b-q); return ans; } } int main() { //return 0; for(int i = 0; i < MN; ++i) dp[i] = -1; int n; cin>>n; t[0] = 1; cout<<1<<' '; for(int i = 0; i < n-1; ++i) { cout<<f(i+2, n-i-2)<<' '; // cout<<i+2<<' '<<n-i-2<<' '; // cout<<f(i+2, n-i-2)<<endl; } cout<<'\n'; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
6 |
correct output |
---|
1 2 2 3 1 1 |
user output |
---|
1 2 2 3 1 1 |
Test 2
Verdict: ACCEPTED
input |
---|
1 |
correct output |
---|
1 |
user output |
---|
1 |
Test 3
Verdict: ACCEPTED
input |
---|
50000 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 4
Verdict: ACCEPTED
input |
---|
100000 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 5
Verdict: ACCEPTED
input |
---|
200000 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 6
Verdict: RUNTIME ERROR
input |
---|
300000 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 7
Verdict: RUNTIME ERROR
input |
---|
400000 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 8
Verdict: RUNTIME ERROR
input |
---|
345283 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 9
Verdict: RUNTIME ERROR
input |
---|
283161 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 10
Verdict: RUNTIME ERROR
input |
---|
269247 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 11
Verdict: RUNTIME ERROR
input |
---|
392224 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 12
Verdict: RUNTIME ERROR
input |
---|
398314 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 13
Verdict: RUNTIME ERROR
input |
---|
397155 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 14
Verdict: RUNTIME ERROR
input |
---|
393692 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |
Test 15
Verdict: RUNTIME ERROR
input |
---|
398499 |
correct output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... |
user output |
---|
1 2 2 4 2 4 4 8 2 4 4 8 4 8 8 ... Truncated |