Submission #1171496

#TimeUsernameProblemLanguageResultExecution timeMemory
1171496nuutsnoyntonStudentsko (COCI14_studentsko)C++20
10 / 100
19 ms840 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; const ll N = 1e5 + 2; ll lo[N], hi[N]; int main() { ll n, m, r, x, y, lo1, hi1, cnt, s, i, j, ans, t; cin >> n >> m; ll a[n + 2]; pair < ll, ll > b[n + 2]; vector < ll > v; vector < ll > ind; for (i = 1; i <= n; i ++) { cin >> a[i]; ind.push_back(i); v.push_back(a[i]); b[i] = {a[i], i}; } sort ( b + 1, b + n + 1); // reverse(b + 1, b + n + 1); for (i = 1; i <= n; i ++) { s = (i - 1) / m; s = s * m; lo[b[i].second] = s + 1; hi[b[i].second] = s + m; } ans = 0; for (i = 1; i <= n/m; i++) { // for (j = 0; j < v.size(); j ++) cout << v[j] << " "; // cout << "\n"; // for (j = 0; j < v.size(); j ++) cout << ind[j] << " "; // cout << "\n"; lo1 = (i - 1) * m + 1; hi1 = i * m; ll used[5002] = {0}; for (j = 0; j < v.size(); j ++) { if (lo[ind[j]] == lo1 ) { if ( j >= m) ans ++; used[j] = 1; } } vector < ll > q; vector < ll > ind1; for (j = 0; j < v.size(); j ++) { if ( used[j] == 0) { q.push_back(v[j]); ind1.push_back(ind[j]); } } swap(q, v); swap(ind, ind1); // cout << ans << endl; } cout << ans<< endl; }
#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...