空虛題竟然沒有一次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);
}
沒有留言:
張貼留言