Submission #1105035

#TimeUsernameProblemLanguageResultExecution timeMemory
1105035m5588ohammed학생 (COCI14_studentsko)C++14
0 / 100
67 ms65536 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define mod 1000000007 int n,k; int arr[5002],ARR[5002],dp[5002][5002]; map <int,int> indx; int solve(int i,int j){ if(i==n+1) return 0; if(dp[i][j]!=-1) return dp[i][j]; if(arr[i]<arr[j]) return dp[i][j]=solve(i+1,j)+1; else{ return dp[i][j]=min(solve(i+1,i),solve(i+1,j)+1); } } void build1(){ cin>>n>>k; memset(dp,-1,sizeof dp); for(int i=1;i<=n;i++){ cin>>arr[i]; ARR[i]=arr[i]; indx[arr[i]]=i; } sort(ARR+1,ARR+n+1); for(int i=1;i<=n;i++) arr[indx[ARR[i]]]=(int)ceil((double)i/k); return; } signed main() { build1(); cout<<solve(1,0); 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...
#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...