Submission #63165

# Submission time Handle Problem Language Result Execution time Memory
63165 2018-08-01T01:38:10 Z khsoo01 Calvinball championship (CEOI15_teams) C++11
100 / 100
471 ms 1348 KB
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 10005, mod = 1e6+7;

ll n, a[N], mx[N], dt[2][N];

int main()
{
	scanf("%lld",&n);
	for(ll i=1;i<=n;i++) {
		scanf("%lld",&a[i]);
		mx[i] = max(mx[i-1], a[i]);
		dt[n%2][i] = 1;
	}
	ll ans = a[n];
	for(ll i=n-1;i>=1;i--) {
		for(ll j=1;j<=i;j++) {
			dt[i%2][j] = (dt[1-i%2][j] * j + dt[1-i%2][j+1]) % mod;
		}
		for(ll j=1;j<a[i];j++) {
			ans = (ans + dt[i%2][max(mx[i-1], j)]) % mod;
		}
	}
	printf("%lld\n",ans);
}

Compilation message

teams.cpp: In function 'int main()':
teams.cpp:10:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld",&n);
  ~~~~~^~~~~~~~~~~
teams.cpp:12:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%lld",&a[i]);
   ~~~~~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 272 KB Output is correct
2 Correct 5 ms 364 KB Output is correct
3 Correct 3 ms 404 KB Output is correct
4 Correct 3 ms 412 KB Output is correct
5 Correct 4 ms 416 KB Output is correct
6 Correct 4 ms 528 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 660 KB Output is correct
2 Correct 3 ms 660 KB Output is correct
3 Correct 3 ms 692 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 696 KB Output is correct
2 Correct 3 ms 700 KB Output is correct
3 Correct 4 ms 704 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 708 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 712 KB Output is correct
2 Correct 3 ms 716 KB Output is correct
3 Correct 3 ms 720 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 724 KB Output is correct
2 Correct 4 ms 728 KB Output is correct
3 Correct 4 ms 732 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 736 KB Output is correct
2 Correct 7 ms 740 KB Output is correct
3 Correct 9 ms 748 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 426 ms 1112 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 44 ms 1112 KB Output is correct
2 Correct 42 ms 1112 KB Output is correct
3 Correct 118 ms 1112 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 162 ms 1140 KB Output is correct
2 Correct 165 ms 1316 KB Output is correct
3 Correct 471 ms 1348 KB Output is correct