답안 #210859

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
210859 2020-03-18T22:02:12 Z tleontest1 학생 (COCI14_studentsko) C++14
30 / 100
1000 ms 39900 KB
#pragma GCC optimize ("O3")
#pragma GCC target ("sse4")

#include <bits/stdc++.h>

using namespace std;

typedef long long lo;
typedef pair< int,int > PII;

#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define FOR for(int i=1;i<=n;i++)
#define mid ((start+end)/2)
#define ort ((bas+son)/2)

const lo MAX = -1000000000000000000;
const lo MIN = 1000000000000000000;
const lo inf = 1000000000;
const lo KOK = 100000;
const lo LOG = 30;
const lo li = 5002;
const lo mod = 1000000007;

int n,m,b[li],a[li],k,flag,t;
int cev;
string s;
map<int,int> mpp;
map<PII,int> dp;
vector<int> v;

inline int f(int sira,int last){
	int cevv=0;
	if(sira>n)return 0;
	if(dp.find(mp(sira,last))!=dp.end())return dp[mp(sira,last)];
	cevv=max(cevv,f(sira+1,last));
	if(mpp[a[sira]]>=mpp[a[last]])cevv=max(cevv,f(sira+1,sira)+1);
	return dp[mp(sira,last)]=cevv;
}

int main(void){
	//~ memset(dp,-1,sizeof(dp));
	scanf("%d %d",&n,&m);
	FOR{
		scanf("%d",&a[i]);
		b[i]=a[i];
	}
	sort(b+1,b+n+1);
	FOR{
		mpp[b[i]]=(i-1)/m+1;
	}
	
	printf("%d\n",n-f(1,0));
	return 0;
}

Compilation message

studentsko.cpp: In function 'int main()':
studentsko.cpp:47:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&n,&m);
  ~~~~~^~~~~~~~~~~~~~~
studentsko.cpp:49:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&a[i]);
   ~~~~~^~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 256 KB Output is correct
2 Correct 6 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 376 KB Output is correct
2 Correct 6 ms 256 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 376 KB Output is correct
2 Correct 6 ms 376 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1069 ms 39616 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1061 ms 38080 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1040 ms 38532 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1062 ms 38924 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1069 ms 39220 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1071 ms 39900 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1047 ms 39456 KB Time limit exceeded
2 Halted 0 ms 0 KB -