Submission #1297759

#TimeUsernameProblemLanguageResultExecution timeMemory
1297759chikien2009Event Hopping 2 (JOI21_event2)C++20
0 / 100
223 ms423448 KiB
#include <bits/stdc++.h> using namespace std; void setup() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } int n, k, last; array<int, 3> p[3001]; set<int> s[3001][3001]; inline bool Comp(const array<int, 3> &ina, const array<int, 3> &inb) { return ina[1] < inb[1]; } int main() { setup(); cin >> n >> k; for (int i = 1; i <= n; ++i) { cin >> p[i][0] >> p[i][1]; p[i][2] = i; } sort(p + 1, p + 1 + n, Comp); for (int i = 1; i <= n; ++i) { last = i - 1; while (0 < last && p[i][0] < p[last][1]) { last--; } for (int j = 1; j <= k; ++j) { if (s[last][j - 1].size() == j - 1) { s[i][j] = s[last][j - 1]; s[i][j].insert(p[i][2]); } if (s[i - 1][j].size() == j) { s[i][j] = min(s[i][j], s[i - 1][j]); } } } if (s[n][k].size() == k) { for (auto & i : s[n][k]) { cout << i << "\n"; } } else { cout << -1; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...