赞
踩
AtCoder Beginner Contest 228
题意:输入a b c,问c是否在a到b的时间段内。
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- int main()
- {
- ll n,l,r;
- while(cin>>n>>l>>r)
- {
- bool t=0;
- n*=10;l*=10;r*=10;r+=5;
- if(l>n)if(r>n&&r<l)t=1;
- if(l<n)if(r>n||r<l)t=1;
- if(t)cout<<"Yes"<<endl;
- else cout<<"No"<<endl;
- }
- }
-
题意:有n个数和一个k,找到第k个数,下一个数为第k个数的值,这个值为下一个k进行下一次查找,以此类推。
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- ll a[300001][5];
- int main()
- {
- ll n,l;
- while(cin>>n>>l)
- {
- memset(a,0,sizeof(a));
- for(ll i=1;i<=n;i++)
- {
- scanf("%d",&a[i][0]);
- }
- ll flag=0;
- for(ll i=l;;)
- {
- if(a[i][1]!=0)break;
- else
- {
- a[i][1]=1;
- i=a[i][0];
- flag++;
- }
- }
- cout<<flag<<endl;
- }
- }
-
题意:有n组数和一个k,第一行后输入n行数据每行3个数据分别表示1,2,3天,每天最多可以得到300分一共有四天,需要在已得知三天数据的前提输出预测有没有在得到第四天数据的结果后排入第k名,
- #include<bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- ll a[300001][5],b[300001];
- int main()
- {
- ll n,l;
- while(cin>>n>>l)
- {
- memset(a,0,sizeof(a));
- memset(b,0,sizeof(b));
- ll sum,Max=0;
- for(ll i=0;i<n;i++)
- {
- for(ll j=0;j<3;j++)
- {
- scanf("%d",&a[i][j]);
- if(j==2)a[i][3]=a[i][0]+a[i][1]+a[i][2];
- if(j==2)if(a[i][3]>Max)Max=a[i][3];
- if(j==2)b[i]=a[i][3];
- }
- }
- /*for(ll i=0;i<n;i++)
- {
- for(ll j=0;j<3;j++)
- {
- printf("%d ",a[i][j]);
- }
-
- cout<<endl;
- }*/
- sort(b,b+n);
- for(ll i=0;i<n;i++)
- {
- if(a[i][3]+300>=b[n-l])printf("Yes\n");
- else printf("No\n");
- }
- }
- return 0;
- }
-
- #include<bits/stdc++.h>
- using namespace std;
-
- int main()
- {
- long long n,l,r;
- cin>>n>>l>>r;
- r++;
- long long sum=0;
- for(int i=0;i<61;i++)
- {
- //cout<<i<<" "<<(1ll<<i)<<" "<<(2ll<<i)<<endl;
- if(n&(1ll<<i))
- {
- long long mn=1ll<<i;
- long long mx=2ll<<i;
- if(mx>=l && mn<=r)
- {
- sum+=min(mx,r)-max(mn,l);
- }
- }
- }
- cout<<sum<<endl;
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。