Submission #88774

#TimeUsernameProblemLanguageResultExecution timeMemory
88774tushar_2658Studentsko (COCI14_studentsko)C++14
30 / 100
1075 ms1056 KiB
#include "bits/stdc++.h" using namespace std; typedef long long ll; #define file freopen("in.txt", "r", stdin); #define pii pair<int,int> #define pb push_back #define all(v) v.begin(), v.end() #define keepunique(v) (v).erase(unique(all(v)),v.end()) #define fastread ios_base::sync_with_stdio(false);cin.tie(NULL); #define int long long const int maxn = 5005; int arr[maxn], n, k, cnt = 0; map<ll, ll>mark; vector<int> vec; int dp[maxn]; int call(int u){ int ans = 0; if(dp[u] != -1)return dp[u]; for(int i=u+1; i<n; i++){ if(mark[arr[i]] >= mark[arr[u]]){ if(call(i) >= ans)ans = call(i); } } return dp[u] = 1+ans; } int solve(){ int lon = 0; for(int i=0; i<n; i++){ memset(dp, -1, sizeof dp); lon = max(lon, call(i)); } return n - lon; } int32_t main(){ //file fastread cin>>n>>k; for(int i=0; i<n; i++){ cin>>arr[i]; vec.pb(arr[i]); } //vec1 = vec; sort(all(vec)); for(int i=0; i<n; i++){ if(i%k == 0)++cnt; mark[vec[i]] = cnt; } cout<<solve()<<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...