您的位置:首页 > 其它

Educational Codeforces Round 7、

2016-02-11 01:02 246 查看
A - Infinite Sequence

题意:有一种这样的无限序列数 1,1,2,1,2,3..... (如果最大数n,那么就有从1到n的所有1到n的数);

思路:题意只给了1秒、直接模拟肯定超时,我用的是二分找下界

#include<iostream>
using namespace std;
long long f(long long x)
{
return (1+x)*x/2;
}
long long search(long long x)
{
int l,r,m;
l=0;r=1e8;
while(l<=r){
m=(l+r)/2;
if(f(m)>=x)    r=m-1;
else        l=m+1;
}
return l;
}
int main()
{
long long n;
while(cin >> n){
long long ans;
ans=search(n);
ans=n-f(ans-1);
cout << ans << endl;
}
}


#include<stdio.h>
int main()
{
long long int n,i,k;
scanf("%lld",&n);
i=1;
k=n;
while(k>i)
{
k-=i;
i++;
}
printf("%lld",k);
return 0;
}


B - The Time

题意:给一个时间给你,然后给你个分钟时间给你,让你相加

思路:直接模拟算

#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int a,b;
while(~scanf("%d%*c%d%*c",&a,&b)){
int c;scanf("%d",&c);
int ans=c/60;
int cns=c%60;
ans+=(cns+b)/60;
ans+=a;
cns=(cns+b)%60;
ans=ans%24;
printf("%02d:%02d\n",ans,cns);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: