Submission #914128

#TimeUsernameProblemLanguageResultExecution timeMemory
914128LitusianoTopical (NOI23_topical)C++17
40 / 100
1059 ms24012 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
	int n,k; cin>>n>>k;
	vector<vector<int>> r(n,vector<int>(k,0)); auto u = r;
	for(auto& x : r){
		for(auto& i : x) cin>>i;
	}
	for(auto& x : u){
		for(auto& i : x) cin>>i;
	}
	unordered_set<int> idx; for(int i = 0; i<n; i++) idx.insert(i);
	int prev = 0;
	vector<int> act(k,0);
	while(prev != idx.size()){
		prev = idx.size();
		vector<int> temp;
		for(int i : idx){
			bool ok = 1;
			for(int j = 0; j<k; j++){
				// cerr<<"HERE "<<r[i][j]<<" "<<act[j]<<endl;
				ok&=(r[i][j] <= act[j]);
			}
			// cerr<<"END "<<endl;
			if(ok){
				temp.push_back(i);
				for(int z = 0; z<k; z++){
					act[z] += u[i][z];
				}
			}
		}
		for(int i : temp) idx.erase(i);
	}
	cout<<n-idx.size()<<endl;
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:16:13: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::unordered_set<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |  while(prev != idx.size()){
      |        ~~~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...