Submission #1357186

#TimeUsernameProblemLanguageResultExecution timeMemory
1357186053thousandAliens (IOI16_aliens)C++20
0 / 100
2095 ms344 KiB
#include "aliens.h"
#include<bits/stdc++.h>
using namespace std;
long long take_photos(int n, int m, int k, std::vector<int> r, std::vector<int> c) {
	long long ans;
    set<pair<long long,long long>>s;
    for(int i=0;i<n;i++){
    	s.insert({r[i],r[i]});
	}
    ans=s.size();
	for(int i=0;i<n-k;i++){
		pair<long long,long long> l={-1,-1},mii,miii;
		long long mi=1e18;
		for(auto it=s.begin();it!=s.end();it++){
			if(l.first!=-1){
				int l1=l.first,r1=l.second,l2=(*it).first,r2=(*it).second;
				if((r2-l1+1)*(r2-l1+1)-(r1-l1+1)*(r1-l1+1)-(r2-l2+1)*(r2-l2+1)<mi){
					mi=(r2-l1+1)*(r2-l1+1)-(r1-l1+1)*(r1-l1+1)-(r2-l2+1)*(r2-l2+1);
					mii={l1,r1};
					miii={l2,r2};
				}
			}
			l=*it;
		}
		ans+=mi;
		auto it=s.lower_bound(mii);
		s.erase(it);
		it=s.lower_bound(miii);
		s.erase(it);
		s.insert({mii.first,miii.second});
	}
	return ans;
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...