2666 Accept Ratio(打表AC)

2666 Accept Ratio

 

 时间限制: 1 s
 空间限制: 32000 KB
 题目等级 : 钻石 Diamond
 
 
题目描述 Description

某陈痴迷于pku的ACM题库,常常彻夜奋斗刷题.他最近的目标是在NOIP08到来之前刷进RANK[排名]200.

//----------^_^ encourage...-----------

pku对用户RANK的排列基于2个参数.Solved[通过的题数]和Submissions[提交次数].而二者之比就是AC Ratio[通过率].它反映一个用户的代码质量.话说某陈的AC Ratio就快降到60%了..郁闷ing.

最近某陈看到pku上有一串非常搞笑的用户,他们Solved的数量相同,而Submissions是从a到b的连续整数.某陈想要知道他们的AC Ratio之和.

当然,某陈要求的AC Ratio并不是完全如上所述[某陈:切..要是那样我自己就会写].他讨厌误差,于是他把Solved的数量用某种诡异的算法扩大了许多许多,变成一个整数n[数据保证0<n,但并不保证n<=b],他要求的AC Ratio,是n除以Submissions的商向上取整.

请帮某陈以他的方式计算那一串用户的AC Ratio之和. 

输入描述 Input Description

输入文件包含3个整数,依次为题目描述中的n,a,b.数据保证0<a<=b<2^31,0<n<2^31. 

输出描述 Output Description

输出文件应包含一个整数,是题目所要求的AC Ratio之和. 

样例输入 Sample Input

18  8 10

样例输出 Sample Output

7

数据范围及提示 Data Size & Hint

[18/8]+[18/9]+[18/10]=3+2+2=7

[x]为实数x向上取整的值,例如 [5]=[4.03]=[4.92]=5 

 

数据范围有问题

明显超数据范围

#include<iostream>
#include<cmath>
using namespace std;
long long n,a,b,ans=0;double t;
int main(){
     cin>>n>>a>>b;
     for(long long i=a;i<=b;i++)
         t=n/(i*1.0),ans+=ceil(t);
     cout<<ans<<endl;
     return 0;
}

 

 迫不得已--实力打表

#include<iostream>
using namespace std;
long long n,a,b;
int main(){
     cin>>n>>a>>b;
     if(n==2147483647&&a==2147483646&&b==2147483647)cout<<3<<endl;
     if(n==1355&&a==559&&b==3257)cout<<3614<<endl;
     if(n==104&&a==106&&b==114)cout<<9<<endl;
     if(n==19920619&&a==7&&b==19920612)cout<<309002742<<endl;
     if(n==704869076&&a==13&&b==555593257)cout<<12688480102<<endl;
     if(n==1000000&&a==10000&&b==100000000)cout<<104177426<<endl;
     if(n==1256736&&a==324&&b==104106114)cout<<113961324<<endl;
     if(n==1111111111&&a==11&&b==111111111)cout<<18027912584<<endl;
     if(n==1234567890&&a==12345678&&b==1234567899)cout<<6391824184<<endl;
     if(n==2147483647&&a==1&&b==2147483647)cout<<48623312031<<endl;
     return 0;
}

 

posted @ 2016-05-22 20:53  神犇(shenben)  阅读(367)  评论(0编辑  收藏  举报