ccf-集合竞价-201412-3

摘要:
这个问题的数据量很小,因此我们使用前缀和直接暴力来解决首先将浮点数转换为整数的问题;int_ p=;您必须添加eps,否则浮点运算会出错,然后使用namespacestd从高到低枚举1#include˃x;flag[x]=1;}19否则{20doublep;21cin˃˃p˃˃t[i].num;22ift[i].by=1;23t[i].p=;24p_max=max;25p_min=min;26}27}28intn=i;29分30秒(!

这道题数据量很小,所以用前缀和直接暴力解决了

首先将浮点数转换为整数;

     int_p=(int)(dou_p*100+0.5); 必须加一个eps,否则浮点数运算会有误差

然后从高到低枚举

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long LL;
 4 const int N=1e6+7;
 5 const int M=5007;
 6 struct node {
 7     bool by;
 8     int p; LL num;
 9 };
10 node t[M]; 
11 bool flag[M];
12 LL sum1[N], sum2[N]; 
13 int main ()
14 {
15     string str; int i=0,p_max=0,p_min=0x3f3f3f3f;
16     while (cin>>str) {
17         i++;
18         if (str[0]=='c') { int x; cin>>x; flag[x]=1; }
19         else {
20             double p;
21             cin>>p>>t[i].num; 
22             if (str[0]=='b') t[i].by=1;
23             t[i].p=(int)(p*100+0.5);
24             p_max=max (p_max,t[i].p);
25             p_min=min (p_min,t[i].p);
26         }
27    }
28    int n=i;
29    for (i=1;i<=n;i++) 
30         if (!flag[i]) {
31             if (t[i].by) sum1[t[i].p]+=t[i].num;
32             else         sum2[t[i].p]+=t[i].num;
33         }
34     for (int i=1;i<N;i++) {
35         sum1[i]+=sum1[i-1];
36         sum2[i]+=sum2[i-1];
37     }
38     LL sum=0; int ans;
39     for (int i=p_max;i>=p_min;i--) {
40         LL x=min (sum1[N-1]-sum1[i-1],sum2[i]);
41         if (x>sum) { sum=x; ans=i; }
42     }
43     int a1=ans/100,a2=ans%100;
44     printf("%d.%02d %lld
",a1,a2,sum);
45     return 0;
46 }

免责声明:文章转载自《ccf-集合竞价-201412-3》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇适配器模式之对象适配器android开发(7) 文件下载下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

centos安装、卸载openssh

1.卸载openssh并执行rpm-qaopenssh*以检查是否已安装。...

vs下调试程序时,把信息打印到输出窗口

重印:https://blog.csdn.net/cwj066/article/details/82423627 https://stackoverflow.com/questions/20508086/getting-rid-of-atltracegeneral-category-shown-in-atltrace-output方法1:编写一个变量参数函数...

C#使用FFmpeg的总结

上一篇文章提到FFmpeg解决了项目中的视频和语音问题,并表示C#和FFmpeg必须提到两个类库。最后,选择了FFmpeg.AutoGen,它可以通过API更好地控制灵活性,更好地满足您的个人需求。6、 C#FFmpeg使用SDL2实现rtmp播放器7。C#FFmpeg本地mp3,mp4文件播放8。C#FFmpeg在保存到本地文件时播放rtmp视频。...

SQLserver 获取当前时间

选择CONVERT(varchar,GETDATE())--2017selectDATENAME(YEAR,GETDATE())--2017selectDATEPART。获取当前月份--05或5selectDATENAME(MM,...

ubuntu中VNC的安装配置笔记

设置密码并首次启动vncserver后。vnc/directory将在用户的主目录中生成。注意:安装后,用户的主目录中没有vnc目录。这是因为默认情况下启用了桌面配置,并且需要修改配置文件。后来,我在网上找到了一篇可靠的文章:http://blog.csdn.net/njchenyi/article/details/8489689本文中描述的配置方法确实可行...

postgresql笔记

一旦任何有价值的对象被转移到新所有者,可以使用DROPOWNED命令删除被删除角色所拥有的任何剩余对象。此外,DROPOWNED不会删除整个数据库或表空间。因此,如果角色有任何尚未转移到新所有者的数据库或表空间,则需要手动删除它们。DROPOWNED还将注意到,对于不属于目标角色的对象,删除授予目标角色的任何特权。因为REASSIGNOWNED不会接触这些对...