# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
22936 | 2017-04-30T14:36:17 Z | dotorya | Unifying Values (KRIII5_UV) | C++14 | 163 ms | 5928 KB |
#include <stdio.h> #include <algorithm> #include <assert.h> #include <cmath> #include <complex> #include <deque> #include <functional> #include <iostream> #include <limits.h> #include <map> #include <math.h> #include <queue> #include <set> #include <stdlib.h> #include <string.h> #include <string> #include <time.h> #include <unordered_map> #include <unordered_set> #include <vector> #pragma warning(disable:4996) #pragma comment(linker, "/STACK:336777216") using namespace std; #define mp make_pair #define Fi first #define Se second #define pb(x) push_back(x) #define szz(x) ((int)(x).size()) #define rep(i, n) for(int i=0;i<n;i++) #define all(x) (x).begin(), (x).end() #define ldb ldouble typedef tuple<int, int, int> t3; typedef long long ll; typedef unsigned long long ull; typedef double db; typedef long double ldb; typedef pair <int, int> pii; typedef pair <ll, ll> pll; typedef pair <ll, int> pli; typedef pair <db, db> pdd; int IT_MAX = 1 << 19; const ll MOD = 1000000007; const int INF = 0x3f3f3f3f; const ll LL_INF = 1034567890123456789ll; const db PI = acos(-1); const db ERR = 1E-11; ll sum[100050]; ll in[100050]; ll dp[100050]; ll sum2[100050]; ll po2[100050]; int main() { int N, i, j; scanf("%d", &N); for (i = 1; i <= N; i++) { scanf("%lld", &in[i]); sum[i] = sum[i - 1] + in[i]; } ll ans = 0; po2[0] = 1; for (i = 1; i <= 100000; i++) po2[i] = po2[i - 1] * 2 % MOD; if (sum[N] == 0) { int c = 0; for (i = 1; i < N; i++) if (sum[i] == 0) c++; return !printf("%lld\n", po2[c] - 1); } for (i = 2; i <= N; i++) { if (sum[N] % i) continue; ll v = sum[N] / i; dp[0] = 1; sum2[0] = 1; for (j = 1; j <= N; j++) { ll t = sum[j] / v; if (t <= 0 || t > i || t * v != sum[j]) continue; dp[j] = sum2[t - 1]; sum2[t] = (sum2[t] + dp[j]) % MOD; } ans = (ans + dp[N]) % MOD; for (j = 0; j <= i; j++) sum2[j] = 0; } return !printf("%lld\n", ans); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 5928 KB | Output is correct |
2 | Correct | 0 ms | 5928 KB | Output is correct |
3 | Correct | 0 ms | 5928 KB | Output is correct |
4 | Correct | 3 ms | 5928 KB | Output is correct |
5 | Correct | 3 ms | 5928 KB | Output is correct |
6 | Correct | 3 ms | 5928 KB | Output is correct |
7 | Correct | 0 ms | 5928 KB | Output is correct |
8 | Correct | 3 ms | 5928 KB | Output is correct |
9 | Correct | 0 ms | 5928 KB | Output is correct |
10 | Correct | 0 ms | 5928 KB | Output is correct |
11 | Correct | 0 ms | 5928 KB | Output is correct |
12 | Correct | 0 ms | 5928 KB | Output is correct |
13 | Correct | 0 ms | 5928 KB | Output is correct |
14 | Correct | 3 ms | 5928 KB | Output is correct |
15 | Correct | 3 ms | 5928 KB | Output is correct |
16 | Correct | 0 ms | 5928 KB | Output is correct |
17 | Correct | 3 ms | 5928 KB | Output is correct |
18 | Correct | 0 ms | 5928 KB | Output is correct |
19 | Correct | 0 ms | 5928 KB | Output is correct |
20 | Correct | 0 ms | 5928 KB | Output is correct |
21 | Correct | 0 ms | 5928 KB | Output is correct |
22 | Correct | 3 ms | 5928 KB | Output is correct |
23 | Correct | 3 ms | 5928 KB | Output is correct |
24 | Correct | 0 ms | 5928 KB | Output is correct |
25 | Correct | 3 ms | 5928 KB | Output is correct |
26 | Correct | 0 ms | 5928 KB | Output is correct |
27 | Correct | 3 ms | 5928 KB | Output is correct |
28 | Correct | 0 ms | 5928 KB | Output is correct |
29 | Correct | 3 ms | 5928 KB | Output is correct |
30 | Correct | 3 ms | 5928 KB | Output is correct |
31 | Correct | 3 ms | 5928 KB | Output is correct |
32 | Correct | 3 ms | 5928 KB | Output is correct |
33 | Correct | 0 ms | 5928 KB | Output is correct |
34 | Correct | 3 ms | 5928 KB | Output is correct |
35 | Correct | 3 ms | 5928 KB | Output is correct |
36 | Correct | 6 ms | 5928 KB | Output is correct |
37 | Correct | 3 ms | 5928 KB | Output is correct |
38 | Correct | 6 ms | 5928 KB | Output is correct |
39 | Correct | 6 ms | 5928 KB | Output is correct |
40 | Correct | 3 ms | 5928 KB | Output is correct |
41 | Correct | 6 ms | 5928 KB | Output is correct |
42 | Correct | 0 ms | 5928 KB | Output is correct |
43 | Correct | 6 ms | 5928 KB | Output is correct |
44 | Correct | 0 ms | 5928 KB | Output is correct |
45 | Correct | 3 ms | 5928 KB | Output is correct |
46 | Correct | 3 ms | 5928 KB | Output is correct |
47 | Correct | 0 ms | 5928 KB | Output is correct |
48 | Correct | 0 ms | 5928 KB | Output is correct |
49 | Correct | 0 ms | 5928 KB | Output is correct |
50 | Correct | 3 ms | 5928 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 3 ms | 5928 KB | Output is correct |
2 | Correct | 3 ms | 5928 KB | Output is correct |
3 | Correct | 0 ms | 5928 KB | Output is correct |
4 | Correct | 3 ms | 5928 KB | Output is correct |
5 | Correct | 3 ms | 5928 KB | Output is correct |
6 | Correct | 3 ms | 5928 KB | Output is correct |
7 | Correct | 9 ms | 5928 KB | Output is correct |
8 | Correct | 3 ms | 5928 KB | Output is correct |
9 | Correct | 3 ms | 5928 KB | Output is correct |
10 | Correct | 0 ms | 5928 KB | Output is correct |
11 | Correct | 3 ms | 5928 KB | Output is correct |
12 | Correct | 0 ms | 5928 KB | Output is correct |
13 | Correct | 3 ms | 5928 KB | Output is correct |
14 | Correct | 3 ms | 5928 KB | Output is correct |
15 | Correct | 3 ms | 5928 KB | Output is correct |
16 | Correct | 3 ms | 5928 KB | Output is correct |
17 | Correct | 6 ms | 5928 KB | Output is correct |
18 | Correct | 9 ms | 5928 KB | Output is correct |
19 | Correct | 0 ms | 5928 KB | Output is correct |
20 | Correct | 3 ms | 5928 KB | Output is correct |
21 | Correct | 0 ms | 5928 KB | Output is correct |
22 | Correct | 3 ms | 5928 KB | Output is correct |
23 | Correct | 3 ms | 5928 KB | Output is correct |
24 | Correct | 0 ms | 5928 KB | Output is correct |
25 | Correct | 3 ms | 5928 KB | Output is correct |
26 | Correct | 0 ms | 5928 KB | Output is correct |
27 | Correct | 6 ms | 5928 KB | Output is correct |
28 | Correct | 9 ms | 5928 KB | Output is correct |
29 | Correct | 3 ms | 5928 KB | Output is correct |
30 | Correct | 26 ms | 5928 KB | Output is correct |
31 | Correct | 6 ms | 5928 KB | Output is correct |
32 | Correct | 6 ms | 5928 KB | Output is correct |
33 | Correct | 0 ms | 5928 KB | Output is correct |
34 | Correct | 9 ms | 5928 KB | Output is correct |
35 | Correct | 16 ms | 5928 KB | Output is correct |
36 | Correct | 9 ms | 5928 KB | Output is correct |
37 | Correct | 9 ms | 5928 KB | Output is correct |
38 | Correct | 16 ms | 5928 KB | Output is correct |
39 | Correct | 13 ms | 5928 KB | Output is correct |
40 | Correct | 56 ms | 5928 KB | Output is correct |
41 | Correct | 63 ms | 5928 KB | Output is correct |
42 | Correct | 16 ms | 5928 KB | Output is correct |
43 | Correct | 56 ms | 5928 KB | Output is correct |
44 | Correct | 66 ms | 5928 KB | Output is correct |
45 | Correct | 23 ms | 5928 KB | Output is correct |
46 | Correct | 33 ms | 5928 KB | Output is correct |
47 | Correct | 43 ms | 5928 KB | Output is correct |
48 | Correct | 53 ms | 5928 KB | Output is correct |
49 | Correct | 99 ms | 5928 KB | Output is correct |
50 | Correct | 56 ms | 5928 KB | Output is correct |
51 | Correct | 53 ms | 5928 KB | Output is correct |
52 | Correct | 96 ms | 5928 KB | Output is correct |
53 | Correct | 39 ms | 5928 KB | Output is correct |
54 | Correct | 59 ms | 5928 KB | Output is correct |
55 | Correct | 79 ms | 5928 KB | Output is correct |
56 | Correct | 76 ms | 5928 KB | Output is correct |
57 | Correct | 53 ms | 5928 KB | Output is correct |
58 | Correct | 66 ms | 5928 KB | Output is correct |
59 | Correct | 73 ms | 5928 KB | Output is correct |
60 | Correct | 79 ms | 5928 KB | Output is correct |
61 | Correct | 163 ms | 5928 KB | Output is correct |
62 | Correct | 89 ms | 5928 KB | Output is correct |
63 | Correct | 63 ms | 5928 KB | Output is correct |
64 | Correct | 0 ms | 5928 KB | Output is correct |
65 | Correct | 3 ms | 5928 KB | Output is correct |
66 | Correct | 13 ms | 5928 KB | Output is correct |
67 | Correct | 6 ms | 5928 KB | Output is correct |
68 | Correct | 9 ms | 5928 KB | Output is correct |
69 | Correct | 3 ms | 5928 KB | Output is correct |
70 | Correct | 3 ms | 5928 KB | Output is correct |
71 | Correct | 6 ms | 5928 KB | Output is correct |
72 | Correct | 9 ms | 5928 KB | Output is correct |
73 | Correct | 9 ms | 5928 KB | Output is correct |
74 | Correct | 6 ms | 5928 KB | Output is correct |
75 | Correct | 9 ms | 5928 KB | Output is correct |
76 | Correct | 3 ms | 5928 KB | Output is correct |
77 | Correct | 39 ms | 5928 KB | Output is correct |
78 | Correct | 59 ms | 5928 KB | Output is correct |
79 | Correct | 6 ms | 5928 KB | Output is correct |
80 | Correct | 19 ms | 5928 KB | Output is correct |
81 | Correct | 13 ms | 5928 KB | Output is correct |
82 | Correct | 3 ms | 5928 KB | Output is correct |
83 | Correct | 13 ms | 5928 KB | Output is correct |
84 | Correct | 76 ms | 5928 KB | Output is correct |
85 | Correct | 39 ms | 5928 KB | Output is correct |
86 | Correct | 6 ms | 5928 KB | Output is correct |
87 | Correct | 3 ms | 5928 KB | Output is correct |
88 | Correct | 13 ms | 5928 KB | Output is correct |
89 | Correct | 6 ms | 5928 KB | Output is correct |
90 | Correct | 6 ms | 5928 KB | Output is correct |
91 | Correct | 0 ms | 5928 KB | Output is correct |
92 | Correct | 0 ms | 5928 KB | Output is correct |
93 | Correct | 0 ms | 5928 KB | Output is correct |
94 | Correct | 3 ms | 5928 KB | Output is correct |
95 | Correct | 3 ms | 5928 KB | Output is correct |
96 | Correct | 3 ms | 5928 KB | Output is correct |
97 | Correct | 0 ms | 5928 KB | Output is correct |
98 | Correct | 3 ms | 5928 KB | Output is correct |
99 | Correct | 0 ms | 5928 KB | Output is correct |
100 | Correct | 0 ms | 5928 KB | Output is correct |
101 | Correct | 0 ms | 5928 KB | Output is correct |
102 | Correct | 0 ms | 5928 KB | Output is correct |
103 | Correct | 0 ms | 5928 KB | Output is correct |
104 | Correct | 3 ms | 5928 KB | Output is correct |
105 | Correct | 3 ms | 5928 KB | Output is correct |
106 | Correct | 0 ms | 5928 KB | Output is correct |
107 | Correct | 3 ms | 5928 KB | Output is correct |
108 | Correct | 0 ms | 5928 KB | Output is correct |
109 | Correct | 0 ms | 5928 KB | Output is correct |
110 | Correct | 0 ms | 5928 KB | Output is correct |
111 | Correct | 0 ms | 5928 KB | Output is correct |
112 | Correct | 3 ms | 5928 KB | Output is correct |
113 | Correct | 3 ms | 5928 KB | Output is correct |
114 | Correct | 0 ms | 5928 KB | Output is correct |
115 | Correct | 3 ms | 5928 KB | Output is correct |
116 | Correct | 0 ms | 5928 KB | Output is correct |
117 | Correct | 3 ms | 5928 KB | Output is correct |
118 | Correct | 0 ms | 5928 KB | Output is correct |
119 | Correct | 3 ms | 5928 KB | Output is correct |
120 | Correct | 3 ms | 5928 KB | Output is correct |
121 | Correct | 3 ms | 5928 KB | Output is correct |
122 | Correct | 3 ms | 5928 KB | Output is correct |
123 | Correct | 0 ms | 5928 KB | Output is correct |
124 | Correct | 3 ms | 5928 KB | Output is correct |
125 | Correct | 3 ms | 5928 KB | Output is correct |
126 | Correct | 6 ms | 5928 KB | Output is correct |
127 | Correct | 3 ms | 5928 KB | Output is correct |
128 | Correct | 6 ms | 5928 KB | Output is correct |
129 | Correct | 6 ms | 5928 KB | Output is correct |
130 | Correct | 3 ms | 5928 KB | Output is correct |
131 | Correct | 6 ms | 5928 KB | Output is correct |
132 | Correct | 0 ms | 5928 KB | Output is correct |
133 | Correct | 6 ms | 5928 KB | Output is correct |
134 | Correct | 0 ms | 5928 KB | Output is correct |
135 | Correct | 3 ms | 5928 KB | Output is correct |
136 | Correct | 3 ms | 5928 KB | Output is correct |
137 | Correct | 0 ms | 5928 KB | Output is correct |
138 | Correct | 0 ms | 5928 KB | Output is correct |
139 | Correct | 0 ms | 5928 KB | Output is correct |
140 | Correct | 3 ms | 5928 KB | Output is correct |