- 复制CS
- 2015-12-06 16:43:53 @
最后一个点错了QAQ路过的大神看一下哪里挂了呀
【对于刷了那么多我表示很抱歉啊QAQ
【和题解里的大神AC程序对拍完全没有问题啊QWQ
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct arr{
double a,b;
}p[100005];
int n,k,m,i,cnt;
double l,j;
bool f;
bool cmp(arr A,arr B){
if ( A.a!=B.a ) return A.a<B.a;
return A.b>B.b;
}
int main(){
scanf("%d%d%d",&n,&k,&m);
for (i=1;i<=m;i++) scanf("%lf%lf",&p[i].a,&p[i].b);
sort(p+1,p+m+1,cmp);
cnt=1;l=0;
if ( n==1 ) {printf("0.00\n");return 0;}
for (i=1;i<=m;i++){
f=false;
for (j=l;j<=p[i].a;j=j+1)
if (j+1<=p[i].a){
l=l+1;
cnt+=min(cnt,k);
if ( cnt>=n ) {f=true;break;}
}else break;
if ( f ) break;
if ( p[i].a+p[i].b>l ) l=p[i].a+p[i].b;
}
if ( !f ){
while ( cnt<n ) l=l+1,cnt+=min(cnt,k);
}
printf("%.2f\n",l);
return 0;
}
3 条评论
-
Deny_小田 LV 8 @ 2016-06-16 20:32:14
楼主问题解决了哈?
-
2016-01-03 18:31:44@
忘了邮箱....
-
2016-01-03 18:08:17@
我想我需要最后一个点的数据QWQ
- 1