Submission #862091

# Submission time Handle Problem Language Result Execution time Memory
862091 2023-10-17T14:02:59 Z iskhakkutbilim Zalmoxis (BOI18_zalmoxis) C++17
0 / 100
1000 ms 10324 KB
#include <bits/stdc++.h>
using namespace std;

#define ff first
#define ss second
#define all(a) a.begin(), a.end()
#define  int long long
int n, k;
vector<int> ans;
int cur;
vector<int> a;
void f(int x){
	if(x <= 0) return;
	if(cur >= n or a[cur] >= x){
		ans.push_back(x);
		if(cur < n && a[cur] == x) cur++;
	}else{
		f(x-1);
		f(x-1);
	}
	
}


main(){
	cin >> n >> k;
	a.resize(n);
	for(int i = 0;i < n; i++){
		cin >> a[i];
	}
	/*
	5 1
	28 25 25 26 27
	
	6 1
	28 25 25 26 27 29
	
	5 1
	28  25 26 27 29
	*/
	f(30);
	if(ans.size() == n + k){
		for(int x : ans) cout << x << ' ';
		return 0;
	}
	assert(false);
//	if(ans.back() > 1){
//		int bk = ans.back();
//		ans.pop_back();
//		ans.push_back(bk-1);
//		ans.push_back(bk-1);
//		for(int x : ans) cout << x << ' ';
//	}else if(ans[0] > 1){
//		int bk = ans[0];
//		cout << bk-1 << ' ' << bk-1 << ' ';
//		for(int i = 1;i < ans.size(); i++) cout << ans[i] << ' ';
//	}else{
//		assert(false);
//	}
//	while(ans.size() < n + k){
//		vector<int> have = ans;
//		vector<int> merge;
//		ans.clear();
//		for(int i = 0;i < have.size(); i++){
//			if(have[i] > 1){
//				f(have[i]-1, 1);
//				f(have[i]-1, 1);
//				for(int j = 0;j < i; j++) merge.push_back(have[j]);
//				for(int x : ans) merge.push_back(x);
//				for(int j = i + 1; j < have.size(); j++){
//					merge.push_back(have[j]);
//				}
//				break;
//			}
//		}
//		if(merge.empty()) assert(false);
//		ans = merge;
//	}
//	for(int i = 0;i < ans.size(); i++) cout << ans[i] << ' ';
	return 0;
}

Compilation message

zalmoxis.cpp:25:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   25 | main(){
      | ^~~~
zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:42:16: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   42 |  if(ans.size() == n + k){
      |     ~~~~~~~~~~~^~~~~~~~
# Verdict Execution time Memory Grader output
1 Execution timed out 1065 ms 10044 KB Time limit exceeded
2 Execution timed out 1018 ms 10052 KB Time limit exceeded
3 Execution timed out 1016 ms 10320 KB Time limit exceeded
4 Execution timed out 1057 ms 10296 KB Time limit exceeded
5 Execution timed out 1072 ms 10144 KB Time limit exceeded
6 Execution timed out 1069 ms 10024 KB Time limit exceeded
# Verdict Execution time Memory Grader output
1 Execution timed out 1066 ms 10068 KB Time limit exceeded
2 Execution timed out 1076 ms 9812 KB Time limit exceeded
3 Execution timed out 1067 ms 10068 KB Time limit exceeded
4 Execution timed out 1074 ms 10324 KB Time limit exceeded
5 Execution timed out 1054 ms 10324 KB Time limit exceeded
6 Execution timed out 1059 ms 10068 KB Time limit exceeded
7 Execution timed out 1074 ms 10280 KB Time limit exceeded
8 Execution timed out 1059 ms 10164 KB Time limit exceeded
9 Execution timed out 1064 ms 8276 KB Time limit exceeded
10 Execution timed out 1050 ms 3164 KB Time limit exceeded
11 Execution timed out 1064 ms 5232 KB Time limit exceeded
12 Execution timed out 1066 ms 348 KB Time limit exceeded
13 Execution timed out 1065 ms 348 KB Time limit exceeded
14 Runtime error 1 ms 344 KB Execution killed with signal 6