Submission #1101109

#TimeUsernameProblemLanguageResultExecution timeMemory
1101109bvv23Studentsko (COCI14_studentsko)C++17
100 / 100
37 ms1276 KiB
// Ahmadov orz /// successful failure #include <bits/stdc++.h> /// #include <ext/pb_ds/assoc_container.hpp> using namespace std; /// using namespace __gnu_pbds; #define int long long #define pb push_back #define pii pair<int, int> #define all(v) v.begin(),v.end() #define ff first #define ss second #define drop(x) cout<<x<<endl;return // template <class T> // using isTree = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; /// sometimes you gotta think simple struct custom_hash { size_t operator()(uint64_t x) const { static const uint64_t FIXED_RANDOM = chrono::steady_clock::now().time_since_epoch().count(); x ^= FIXED_RANDOM; return x ^ (x >> 16); } }; const int N = 5e3 + 7; int dp[N]; void failure() { int n, k; cin >> n >> k; map <int,vector<int>> idx; vector <int> arr(n), color(n); for (int i = 0; i < n; i++) { cin >> arr[i]; idx[arr[i]].pb(i); } int reng = 1; int cnt = 0; sort(all(arr)); for (int i = 0; i < n; i++) { cnt++; if (cnt == k + 1) { reng++; cnt = 1; } color[idx[arr[i]].back()] = reng; idx[arr[i]].pop_back(); } int ans = 0; for (int i = 0; i < n; i++) { dp[i] = 1; for (int j = 0; j < i; j++) { if (color[i] >= color[j]) { dp[i] = max(dp[i], dp[j] + 1); } } ans = max(ans, dp[i]); } drop(n - ans); } signed main() { ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); int tt = 1; //cin >> tt; while (tt--) { failure(); } }
#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...