2010年3月27日 星期六

TIOJ 1440 誰買早餐 [Greedy]

    poao899    23496K    7525MS    G++     0.56K     2010-03-28 12:53:38                              .


空虛題竟然沒有一次AC= =

第一次沒判斷Impossible

第二次沒處理每項早餐只有一個...


營養越高價錢越高



沒這個條件就不知道怎麼做了XD

















//**********************************
#include<stdio.h>
#include<algorithm>
long long p[1000010],cost;
int n, m;
struct bf{
long long b,c;
void get(){
scanf("%I64d%I64d",&b,&c);
}
bool operator<(const bf &z)const{
return b< z.b;
}
}b[1000010];
int main(){
scanf("%d", &n);
for(int i=0; i<n; i++)
scanf("%I64d", p+i);
std::sort(p, p+n);
scanf("%d", &m);
for(int i=0; i<m; i++)
b[i].get();
std::sort(b, b+m);
for(int i=0,j=0; i<n ;i++){
for(; b[j].b<p[i]&&j<m; j++);
if(j==m){puts("Impossible."); return 0;}
cost+= b[j++].c;
}
printf("%I64d\n", cost);
}



沒有留言:

張貼留言