Submission #257203

# Submission time Handle Problem Language Result Execution time Memory
257203 2020-08-03T20:28:29 Z Marlov Studentsko (COCI14_studentsko) C++14
100 / 100
3 ms 512 KB
/*
Code by @marlov       
*/
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
#include <vector>
#include <string>
#include <cmath>
#include <algorithm>
#include <iomanip>
#include <utility>
#include <set>
#include <unordered_set>
#include <map>
#include <unordered_map>
#include <stack>
#include <queue>
#include <iterator>
using namespace std;
typedef long long ll;
typedef pair<int,int> pi;

#define maxN 5005

int N,K;
pi gl[maxN];
int arr[maxN];
int main() {
	ios_base::sync_with_stdio(0); cin.tie(0);
	cin>>N>>K;
	for(int i=0;i<N;i++){
		cin>>gl[i].first;
		gl[i].second=i;
	}

	sort(gl,gl+N);

	for(int i=0;i<N;i++){
		arr[gl[i].second]=i/K;
	}
	vector<int> ls;
	for(int i=0;i<N;i++){
		int cv=arr[i];
		if(ls.empty()||cv>=ls.back()){
			ls.push_back(cv);
		}else{
			*upper_bound(ls.begin(),ls.end(),cv)=cv;
		}
	}
	cout<<N-ls.size()<<'\n';
    return 0;
}

/* stuff you should look for
	* int overflow, array bounds
	* special cases (n=1,n=0?)
	* do smth instead of nothing and stay organized
*/
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB Output is correct
2 Correct 0 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB Output is correct
2 Correct 0 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 3 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 384 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 512 KB Output is correct
2 Correct 2 ms 384 KB Output is correct