hdu 5099

Posted 早知如此绊人心,何如当初莫相识。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu 5099相关的知识,希望对你有一定的参考价值。

题意:n个咖啡中,每3杯中最便宜的一杯可以免费,求最少需要付多少钱。

思路:从大到小排序,然后每逢3就免费。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 
 5 struct node{
 6     int x;
 7 }a[100005];
 8 
 9 bool cmp(node p,node q){
10     return p.x>q.x;
11 }
12 int main(){
13     int t;
14     int k=1;
15     scanf("%d",&t);
16     while(t--){
17         int n;
18         scanf("%d",&n);
19         for(int i=1;i<=n;i++)  scanf("%d",&a[i]);
20         sort(a+1,a+1+n,cmp);
21         ll sum=0;
22         for(int i=1;i<=n;i++){
23             if(i%3==0) continue;
24             sum+=a[i].x;
25         }
26         printf("Case #%d: ",k++);
27         cout<<sum<<endl;
28     }
29     return 0;
30 }

 

以上是关于hdu 5099的主要内容,如果未能解决你的问题,请参考以下文章

bzoj 5099: [POI2018]Pionek

BZOJ5099[POI2018]Pionek 几何+双指针

HDOJ 5099 Comparison of Android versions 坑题

bzoj 5099 [POI2018]Pionek 计算几何 极角排序

[武汉加油] bzoj 5099: [POI2018]Pionek 几何+双指针

HDU4057 Rescue the Rabbit(AC自动机+状压DP)