제출 #1315798

#제출 시각아이디문제언어결과실행 시간메모리
1315798AMel0n9월 (APIO24_september)C++17
100 / 100
197 ms8376 KiB
#include <bits/stdc++.h> #include "september.h" using namespace std; // #define int long long #define ll long long #define FOR(i, n) for (int i = 0; i < n; i++) #define NYOOM ios::sync_with_stdio(0); cin.tie(0); #define pii pair<int, int> #define F first #define S second #define PB push_back #define ALL(x) x.begin(), x.end() #define endl '\n' const int INF = 1e9 + 7; const long long LLINF = 1ll<<60; int solve(int n, int m, vector<int> f, vector<vector<int>> s){ f[0] = 0; vector<pii> ranges; int mn[n], mx[n]; fill(mn, mn + n, n); fill(mx, mx + n, -1); FOR(i, m){ FOR(j, n - 1){ mn[s[i][j]] = min(mn[s[i][j]], j); mx[s[i][j]] = max(mx[s[i][j]], j); } } FOR(i, n) { ranges.PB({mn[i], mx[i]}); ranges.PB({mn[f[i]], mx[i]}); } sort(ALL(ranges)); int re = 0, l = 0, r = 0, i = 0; while (l < n - 1){ while (i < ranges.size() && ranges[i].F <= r){ r = max(r, ranges[i].S); i++; } re++; l = r + 1; r++; } return re; }
#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...