Submission #1188867

#TimeUsernameProblemLanguageResultExecution timeMemory
1188867Mher777Trains (BOI24_trains)C++20
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> using namespace std; const int MOD = 1'000'000'007; int addmod(int a, int b) { a += b; if (a >= MOD) a -= MOD; return a; } int submod(int a, int b) { a -= b; if (a < 0) a += MOD; return a; } int mulmod(long long a, long long b) { return int((a * b) % MOD); } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; vector<int> d(N + 2), x(N + 2); for (int i = 1; i <= N; ++i) cin >> d[i] >> x[i]; const int B = int(sqrt(N) + 1); */ vector<vector<vector<int>>> pref(B + 1); for (int dd = 1; dd <= B; ++dd) { pref[dd].resize(dd); for (int r = 0; r < dd; ++r) pref[dd][r].push_back(0); } vector<int> ways(N + 2, 1); for (int i = N; i >= 1; --i) { int sum = 0; if (d[i] == 0) { ways[i] = 1; } else if (d[i] <= B) { int dd = d[i]; int r = i % dd; auto &v = pref[dd][r]; long long cnt = (long long)v.size() - 1; long long k = min<long long>(x[i], cnt); sum = v[k]; ways[i] = addmod(1, sum); } else { long long cur = i + d[i]; long long taken = 0; while (cur <= N && taken < x[i]) { sum = addmod(sum, ways[cur]); cur += d[i]; ++taken; } ways[i] = addmod(1, sum); } */ for (int dd = 1; dd <= B; ++dd) { int r = i % dd; auto &v = pref[dd][r]; v.push_back(addmod(v.back(), ways[i])); } } int answer = 0; for (int i = 1; i <= N; ++i) answer = addmod(answer, ways[i]); cout << answer << '\n'; return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:18:60: error: expected primary-expression before '/' token
   18 |     const int B = int(sqrt(N) + 1);                       */
      |                                                            ^
Main.cpp:19:33: error: expected primary-expression before 'pref'
   19 |     vector<vector<vector<int>>> pref(B + 1);
      |                                 ^~~~
Main.cpp:21:9: error: 'pref' was not declared in this scope
   21 |         pref[dd].resize(dd);
      |         ^~~~
Main.cpp:35:23: error: 'pref' was not declared in this scope
   35 |             auto &v = pref[dd][r];
      |                       ^~~~
Main.cpp:49:16: error: expected primary-expression before '/' token
   49 |         }     */
      |                ^
Main.cpp:50:9: error: expected primary-expression before 'for'
   50 |         for (int dd = 1; dd <= B; ++dd) {
      |         ^~~
Main.cpp:50:26: error: 'dd' was not declared in this scope; did you mean 'd'?
   50 |         for (int dd = 1; dd <= B; ++dd) {
      |                          ^~
      |                          d