제출 #1194550

#제출 시각아이디문제언어결과실행 시간메모리
1194550nagorn_phStudentsko (COCI14_studentsko)C++20
100 / 100
1 ms584 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; #define ordered_set <int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> #define ordered_multiset <int, null_type, less_equal <int>, rb_tree_tag, tree_order_statistics_node_update> #define int long long #define double long double #define pii pair <int, int> #define tiii tuple <int, int, int> #define emb emplace_back #define all(a) a.begin(), a.end() #define iShowSpeed cin.tie(NULL)->sync_with_stdio(false) const int mod = 1e9 + 7; const int inf = 1e18; int32_t main(){ iShowSpeed; int n, k; cin >> n >> k; vector <pii> a(n); for (int i = 0; i < n; i++) cin >> a[i].first, a[i].second = i; vector <pii> b; sort(all(a)); for (int i = 0; i < n; i++) { b.emb(i / k, a[i].second); } sort(all(b)); vector <int> lis; for (auto [x, e] : b) { // cout << e << ": " << "TEAM " << x << "\n"; int idx = upper_bound(all(lis), e) - lis.begin(); if (idx == lis.size()) lis.emb(e); else lis[idx] = e; } cout << n - lis.size(); }
#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...