Submission #1163599

#TimeUsernameProblemLanguageResultExecution timeMemory
1163599salmonAkcija (COCI21_akcija)C++20
0 / 110
57 ms640 KiB
#include <bits/stdc++.h>
using namespace std;

int N;
int K;
vector<long long int> memo[2100];
vector<int> v;
const long long int inf = 1.1e18;
vector<int> W[2100];
int num = 0;

int main(){
	
	scanf(" %d",&N);
	scanf(" %d",&K);
	
	for(int i = 0; i < N; i++){
		int w;
		int d;
		scanf(" %d",&w);
		scanf(" %d",&d);
		W[d].push_back(w);
	}
	
	for(int j = 0; j <= N; j++){
		memo[j].push_back(inf);
	}
	
	
	memo[0][0] = 0;
	
	for(int i = 0; i <= N; i++){
		for(int l : W[i]){
			for(int j = i; j >= 1; j--){
				vector<long long int> v = memo[j - 1];
				vector<long long int> v1 = memo[j];
				for(int i = 0; i <= K; i++){
					v[i] += l;
				}
				memo[j].clear();
				merge(v.begin(),v.end(),v1.begin(),v1.end(),back_inserter(memo[j]));
				while(memo[j].size() > K) memo[j].pop_back();
			}
		}
	}
	
	int cont = 0;
	
	for(int i = N; i >= 0; i--){
		for(int j = 0; j <= memo[i].size(); j++){
			if(memo[i][j] == inf) continue;
			printf("%d %lld\n",i,memo[i][j]);
			cont++;
			if(cont == K) break;
		}
		if(cont == K) break;
	}
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:14:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |         scanf(" %d",&N);
      |         ~~~~~^~~~~~~~~~
Main.cpp:15:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   15 |         scanf(" %d",&K);
      |         ~~~~~^~~~~~~~~~
Main.cpp:20:22: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |                 scanf(" %d",&w);
      |                 ~~~~~^~~~~~~~~~
Main.cpp:21:22: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |                 scanf(" %d",&d);
      |                 ~~~~~^~~~~~~~~~
#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...