Submission #1078326
Source Code Expand
#include <iostream> #include <fstream> #include <vector> #include <stack> #include <queue> #include <cstring> #include <cmath> #include <cstdlib> #include <cstdio> #include <algorithm> #include <unordered_map> #include <unordered_set> #include <map> #include <set> using namespace std; typedef long long ll; typedef pair<int,int> PP; /* freopen("input","r",stdin); freopen("output","w",stdout); */ ll MOD = 1E9 + 7; int main() { ios::sync_with_stdio(false); int N, M, K; cin >> N >> M >> K; int st = (N + M - 1) / (K - 1); ll A[2010], B[2010]; memset(A, 0, sizeof(A)); ll res = 0; for (int i = 0;i < K;i++) { A[i] = 1; if (i != 0 && (N - i) % (K - 1) == 0 && (N - i) / (K - 1) < st) res++; } for (int i = 1;i < st;i++) { int rem = st - i - 1; memset(B, 0, sizeof(B)); ll sum = 0; for (int j = 1;j <= N;j++) { sum += A[j - 1]; sum %= MOD; // Place 1 ~ K - 1. B[j] = sum; if ((N - j) % (K - 1) == 0 && (N - j) / (K - 1) <= rem) { res += B[j]; res %= MOD; } if (j - (K - 1) >= 0) { sum += MOD - A[j - (K - 1)]; sum %= MOD; } } // Place 0. for (int j = 0;j <= N;j++) { B[j] += A[j]; B[j] %= MOD; } swap(A, B); } cout << res << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | E - Eternal Average |
User | ZhusongLi |
Language | C++14 (GCC 5.4.1) |
Score | 1600 |
Code Size | 1414 Byte |
Status | AC |
Exec Time | 345 ms |
Memory | 256 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 1600 / 1600 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt, s3.txt |
All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, s1.txt, s2.txt, s3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | AC | 3 ms | 256 KB |
02.txt | AC | 345 ms | 256 KB |
03.txt | AC | 3 ms | 256 KB |
04.txt | AC | 3 ms | 256 KB |
05.txt | AC | 169 ms | 256 KB |
06.txt | AC | 4 ms | 256 KB |
07.txt | AC | 43 ms | 256 KB |
08.txt | AC | 3 ms | 256 KB |
09.txt | AC | 13 ms | 256 KB |
10.txt | AC | 10 ms | 256 KB |
11.txt | AC | 3 ms | 256 KB |
12.txt | AC | 3 ms | 256 KB |
13.txt | AC | 5 ms | 256 KB |
14.txt | AC | 3 ms | 256 KB |
15.txt | AC | 5 ms | 256 KB |
16.txt | AC | 3 ms | 256 KB |
17.txt | AC | 3 ms | 256 KB |
18.txt | AC | 4 ms | 256 KB |
19.txt | AC | 178 ms | 256 KB |
20.txt | AC | 47 ms | 256 KB |
21.txt | AC | 3 ms | 256 KB |
22.txt | AC | 42 ms | 256 KB |
23.txt | AC | 8 ms | 256 KB |
24.txt | AC | 6 ms | 256 KB |
s1.txt | AC | 3 ms | 256 KB |
s2.txt | AC | 3 ms | 256 KB |
s3.txt | AC | 3 ms | 256 KB |