제출 #569948

#제출 시각아이디문제언어결과실행 시간메모리
569948600MihneaCalvinball championship (CEOI15_teams)C++17
90 / 100
1014 ms472 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; const int M = 1000007; int add(int a, int b) { a += b; if (a >= M) return a - M; if (a < 0) return a + M; return a; } int mul(int a, int b) { return a * (ll) b % M; } void addup(int &a, int b) { a = add(a, b); } void mulup(int &a, int b) { a = mul(a, b); } const int N = 10000 + 7; int n, a[N], mx[N], ways[N]; signed main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; mx[i] = max(mx[i - 1], a[i]); } for (int i = 1; i <= n; i++) { ways[i] = 1; } int sol = 1; for (int i = n; i >= 1; i--) { int init = sol; for (int pl = 1; pl < a[i]; pl++) { addup(sol, ways[mx[i - 1]]); } for (int j = 1; j <= n; j++) { ways[j] = add(mul(j, ways[j]), ways[j + 1]); } } cout << sol << "\n"; }

컴파일 시 표준 에러 (stderr) 메시지

teams.cpp: In function 'int main()':
teams.cpp:47:9: warning: unused variable 'init' [-Wunused-variable]
   47 |     int init = sol;
      |         ^~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...