Submission #144459

#TimeUsernameProblemLanguageResultExecution timeMemory
144459youssefbou62Robots (IOI13_robots)C++14
Compilation error
0 ms0 KiB
#include  <bits/stdc++.h>
// #include "robots.h"
using namespace std;

#define mp make_pair
#define fi first
#define se second
#define all(v) v.begin(),v.end()
#define allarr(a) a , a + n
#define ll long long
#define ull unsigned long long 
#define pb push_back
#define fastio ios_base::sync_with_stdio(false) ; cin.tie(NULL); cout.tie(NULL)
typedef pair<int, int> pi;
typedef pair<ll,ll> pll; 
typedef pair<int,pi> trp ;
typedef vector<pi> vpi;
typedef vector<pll> vpll ;
// int ab  (int  x ) { return (x>0?x:-x); }
const int TT = 1e6+5; 
bool done[TT]; 
int putaway(int A, int B, int T,int X[], int Y[], int W[], int S[]){
	int l = 0 , r = T; 
	sort(X,X+A); 
	sort(Y,Y+B); 
	vector<vector<int>> ByWei(T),BySi(T); 
	for(int i = 0 ; i < T ; i++ ){
		// ByWei.pb({W[i],S[i],i}); 
		// BySi.pb({S[i],W[i],i});
		ByWei[i]={W[i],S[i],i}; 
		BySi[i]={S[i],W[i],i};  
	}
	sort(all(ByWei)); 
	sort(all(BySi)); 
	int ans = -1 ; 
	priority_queue<pi> q; pi p;int mins,i;
	while ( l <= r ){
		int mid = l + (r-l)/2;
		for( i = 0 ; i < T ; i++ )done[i]=0;  
		 i = 0 ; 
		for(int a=0;a<A;a++){
			while(i < T && ByWei[i][0]<X[a]){
				if( !done[ByWei[i][2]])
					q.push({ByWei[i][1],ByWei[i][2]}); 
				i++; 
			}
			 mins = mid;
			while(mins&&!q.empty()){
				p = q.top(); 
				q.pop();
				if(!done[p.se]){
					done[p.se]=1; 
					mins--;  
				}
			}
		}
		while(!q.empty())q.pop();  
		i =0;

		for(int b=0;b<B;b++){
			while(i < T && BySi[i][0]<Y[b]){
				if( !done[BySi[i][2]])
					q.push({BySi[i][1],BySi[i][2]}); 
				i++; 
			}
			 mins = mid;
			while(mins&&!q.empty()){
				 p = q.top(); 
				q.pop();
				if(!done[p.se]){
					done[p.se]=1; 
					mins--; 
				} 
			}
		}while(!q.empty())q.pop();  
		bool doneAll =1; 
		for( i = 0 ; i < T ; i++ )doneAll = doneAll&&done[i];
		if( doneAll ){
			ans = mid ; 
			r = mid-1; 
		}else {
			l = mid+1; 
		}
	}
	return ans ;
}

int main(){
	int A , B , T ; 
	cin >> A >> B >> T ; 

	int X[A] , Y[B] , W[T] , S[T] ; 

	for(int i = 0 ; i < A ; i++ )cin >> X[i]; 
	for(int i = 0 ; i < B ; i++ )cin >> Y[i]; 
	for(int i = 0 ; i < T ; i++ ){
		cin >> W[i] >> S[i] ;
	}
	cout << putaway(A,B,T,X,Y,W,S); 
}

Compilation message (stderr)

/tmp/cclbRadF.o: In function `main':
robots.cpp:(.text.startup+0x0): multiple definition of `main'
/tmp/cchTOzRg.o:grader.c:(.text.startup+0x0): first defined here
/tmp/cchTOzRg.o: In function `main':
grader.c:(.text.startup+0x17e): undefined reference to `putaway'
collect2: error: ld returned 1 exit status