Submission #1200181

#TimeUsernameProblemLanguageResultExecution timeMemory
1200181princeSeptember (APIO24_september)C++17
Compilation error
0 ms0 KiB
int solve(int n, int m, vector<int> a, vector<vector<int>> vol) { int L = n - 1; // Build position table: pos[j][x] = index of x in volunteer j's sequence vector<vector<int>> pos(m, vector<int>(n)); for (int j = 0; j < m; j++) { for (int i = 0; i < L; i++) { pos[j][ vol[j][i] ] = i; } } // Reference sequence from volunteer 0 const vector<int>& s0 = vol[0]; // For each position i in s0, compute the max and min positions across all volunteers vector<int> mx(L), mn(L); for (int i = 0; i < L; i++) { int x = s0[i]; int p_max = pos[0][x], p_min = pos[0][x]; for (int j = 1; j < m; j++) { p_max = max(p_max, pos[j][x]); p_min = min(p_min, pos[j][x]); } mx[i] = p_max; mn[i] = p_min; } // Build prefix max of mx and suffix min of mn vector<int> pref_max(L), suf_min(L); pref_max[0] = mx[0]; for (int i = 1; i < L; i++) { pref_max[i] = max(pref_max[i-1], mx[i]); } suf_min[L-1] = mn[L-1]; for (int i = L-2; i >= 0; i--) { suf_min[i] = min(suf_min[i+1], mn[i]); } // Count valid day boundaries int boundaries = 0; for (int i = 0; i + 1 < L; i++) { if (pref_max[i] < suf_min[i+1]) { boundaries++; } } // Number of days is boundaries + 1 return boundaries + 1; }

Compilation message (stderr)

september.cpp:1:25: error: 'vector' has not been declared
    1 | int solve(int n, int m, vector<int> a, vector<vector<int>> vol) {
      |                         ^~~~~~
september.cpp:1:31: error: expected ',' or '...' before '<' token
    1 | int solve(int n, int m, vector<int> a, vector<vector<int>> vol) {
      |                               ^
september.cpp: In function 'int solve(int, int, int)':
september.cpp:4:5: error: 'vector' was not declared in this scope
    4 |     vector<vector<int>> pos(m, vector<int>(n));
      |     ^~~~~~
september.cpp:4:19: error: expected primary-expression before 'int'
    4 |     vector<vector<int>> pos(m, vector<int>(n));
      |                   ^~~
september.cpp:7:13: error: 'pos' was not declared in this scope
    7 |             pos[j][ vol[j][i] ] = i;
      |             ^~~
september.cpp:7:21: error: 'vol' was not declared in this scope
    7 |             pos[j][ vol[j][i] ] = i;
      |                     ^~~
september.cpp:12:11: error: 'vector' does not name a type
   12 |     const vector<int>& s0 = vol[0];
      |           ^~~~~~
september.cpp:15:12: error: expected primary-expression before 'int'
   15 |     vector<int> mx(L), mn(L);
      |            ^~~
september.cpp:17:17: error: 's0' was not declared in this scope
   17 |         int x = s0[i];
      |                 ^~
september.cpp:18:21: error: 'pos' was not declared in this scope
   18 |         int p_max = pos[0][x], p_min = pos[0][x];
      |                     ^~~
september.cpp:20:21: error: 'max' was not declared in this scope; did you mean 'p_max'?
   20 |             p_max = max(p_max, pos[j][x]);
      |                     ^~~
      |                     p_max
september.cpp:21:13: error: 'p_min' was not declared in this scope
   21 |             p_min = min(p_min, pos[j][x]);
      |             ^~~~~
september.cpp:21:21: error: 'min' was not declared in this scope
   21 |             p_min = min(p_min, pos[j][x]);
      |                     ^~~
september.cpp:23:9: error: 'mx' was not declared in this scope; did you mean 'x'?
   23 |         mx[i] = p_max;
      |         ^~
      |         x
september.cpp:24:9: error: 'mn' was not declared in this scope; did you mean 'n'?
   24 |         mn[i] = p_min;
      |         ^~
      |         n
september.cpp:24:17: error: 'p_min' was not declared in this scope
   24 |         mn[i] = p_min;
      |                 ^~~~~
september.cpp:28:12: error: expected primary-expression before 'int'
   28 |     vector<int> pref_max(L), suf_min(L);
      |            ^~~
september.cpp:29:5: error: 'pref_max' was not declared in this scope
   29 |     pref_max[0] = mx[0];
      |     ^~~~~~~~
september.cpp:29:19: error: 'mx' was not declared in this scope; did you mean 'm'?
   29 |     pref_max[0] = mx[0];
      |                   ^~
      |                   m
september.cpp:31:23: error: 'max' was not declared in this scope
   31 |         pref_max[i] = max(pref_max[i-1], mx[i]);
      |                       ^~~
september.cpp:33:5: error: 'suf_min' was not declared in this scope
   33 |     suf_min[L-1] = mn[L-1];
      |     ^~~~~~~
september.cpp:33:20: error: 'mn' was not declared in this scope; did you mean 'n'?
   33 |     suf_min[L-1] = mn[L-1];
      |                    ^~
      |                    n
september.cpp:35:22: error: 'min' was not declared in this scope
   35 |         suf_min[i] = min(suf_min[i+1], mn[i]);
      |                      ^~~