Submission #383580

#TimeUsernameProblemLanguageResultExecution timeMemory
383580maximath_1Fibonacci representations (CEOI18_fib)C++11
5 / 100
185 ms3308 KiB
#include <stdio.h> #include <string> #include <math.h> #include <algorithm> #include <vector> #include <string.h> #include <numeric> #include <queue> #include <assert.h> #include <map> #include <set> #include <limits.h> using namespace std; #define ll long long #define ld long double const int MX = 100005; const int LG = (int)log2(MX) + 2; const int BLOCK = 105; const ll mod = 1e9 + 7; const ll inv2 = (mod + 1) / 2; #define gc getchar//_unlocked //can't for window server void cin(int &x){ char c = gc(); bool neg = false; for(; c < '0'||'9' < c; c = gc()) if(c == '-') neg=true; x = c - '0'; c = gc(); for(; '0' <= c && c <= '9'; c = gc()) x = (x << 1) + (x << 3) + (c - '0'); if(neg) x = -x; } int f[25]; map<int, int> mp; int main(){ int n; cin(n); f[1] = 1, f[2] = 2; for(int i = 3; i <= 20; i ++) f[i] = f[i - 1] + f[i - 2]; for(int i = 0; i < (1 << 20); i ++){ int sm = 0; for(int j = 0; j < 20; j ++) if(i & (1 << j)) sm += f[j + 1]; mp[sm] ++; } int cr = 0; for(int x, i = 0; i < n; i ++){ cin(x); cr += f[x]; printf("%d\n", mp[cr]); } }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...