[Codeforces Round #160 (Div. 2)]C. Maxim and Discounts

地址:http://codeforces.com/contest/262/problem/C

快排 贪心

打折方式肯定选小的,买东西时从价格高的买起

用scanf, printf的效率比cin, cout高多了,一个78ms,一个250ms......差距

 1 #include <iostream>
 2 #include <algorithm>
 3 #include <cstdio>
 4 using namespace std;
 5 
 6 int m,n;
 7 
 8 bool cmp(int a,int b)
 9 {return a>b;}
10 
11 int main()
12 {
13     int i,j,d_c=0xfffffff,sum=0,in;
14     scanf("%d",&m);
15     for(i=0;i<m;i++)
16     {
17         scanf("%d",&in);
18         d_c=in<d_c?in:d_c;
19     }
20     scanf("%d",&n);
21     int *a=new int[n];
22     for(i=0;i<n;i++)
23     {
24         scanf("%d",&a[i]);
25     }
26     sort(a,a+n,cmp);
27     i=0;
28     while(i<n)
29     {
30         j=0;
31         while(j<d_c && i<n)
32         {
33             sum+=a[i++];
34             j++;
35         }
36         i+=2;
37     }
38     printf("%d\n",sum);
39     return 0;
40 }

 

posted @ 2013-01-24 15:49  tjsuhst  阅读(223)  评论(0)    收藏  举报