CodeForces 203C Photographer

5632 단어 codeforces
단순 탐욕.메모리가 충분하여 모든 고객의 특수한 상황을 만족시킬 수 있음을 주의해라.
 
 1 #include <iostream>
 2 #include <cstring>
 3 #include <algorithm>
 4 
 5 #define maxn 100010
 6 
 7 using namespace std;
 8 
 9 typedef long long ll;
10 
11 struct node {
12 ll c,id;
13 }c[maxn];
14 
15 bool cmp (node x,node y){
16 if (x.c<y.c)
17 return true ;
18 return false ;
19 }
20 
21 int main (){
22 ll n,d,x,y,a,b;
23 ll ans,sum;
24 while (cin>>n>>d){
25 cin>>a>>b;
26 for (int i=0;i<n;i++){
27 cin>>x>>y;
28 c[i].c=a*x+b*y;
29 c[i].id=i+1;
30 }
31 sort (c,c+n,cmp);
32 sum=ans=0;
33 for (int i=0;i<n;i++){
34 sum+=c[i].c;
35 if (sum>d){
36 ans=i;
37 break ;
38 }
39 if (i==n-1) //        
40 ans=n;
41 }
42 cout<<ans<<endl;
43 for (int i=0;i<ans;i++){
44 cout<<c[i].id<<" ";
45 }
46 cout<<endl;
47 }
48 return 0;
49 }

좋은 웹페이지 즐겨찾기