Submission #1201433

#TimeUsernameProblemLanguageResultExecution timeMemory
1201433YouKnowCipherSeptember (APIO24_september)C++20
100 / 100
69 ms6264 KiB
#include <bits/stdc++.h> #include "september.h" using namespace std; int solve (int n, int m, vector<int> f, vector<vector<int>> v) { vector<pair<int, int>> p(n, {n, 0}); for (int i = 0; i < m; i++) { for (int j = 0; j < n - 1; j++) { p[v[i][j]].first = min(p[v[i][j]].first, j); p[v[i][j]].second = max(p[v[i][j]].second, j); } } vector<int> diff(n, 0); for (int i = 1; i < n; i++) { diff[p[i].first]++; diff[p[i].second]--; if (p[f[i]].first <= p[i].second) { diff[p[f[i]].first]++; diff[p[i].second]--; } } int ans = 0; for (int i = 0; i < n - 1; i++) { if (i) diff[i] += diff[i - 1]; if (diff[i] == 0) ans++; } return ans; }
#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...