当前位置:   article > 正文

2021-11-22 (atcoder)_atcoder预测分

atcoder预测分

 AtCoder Beginner Contest 228

A - On and Off

题意:输入a b c,问c是否在a到b的时间段内。

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. int main()
  5. {
  6. ll n,l,r;
  7. while(cin>>n>>l>>r)
  8. {
  9. bool t=0;
  10. n*=10;l*=10;r*=10;r+=5;
  11. if(l>n)if(r>n&&r<l)t=1;
  12. if(l<n)if(r>n||r<l)t=1;
  13. if(t)cout<<"Yes"<<endl;
  14. else cout<<"No"<<endl;
  15. }
  16. }

 B - Takahashi's Secret

题意:有n个数和一个k,找到第k个数,下一个数为第k个数的值,这个值为下一个k进行下一次查找,以此类推。

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. ll a[300001][5];
  5. int main()
  6. {
  7. ll n,l;
  8. while(cin>>n>>l)
  9. {
  10. memset(a,0,sizeof(a));
  11. for(ll i=1;i<=n;i++)
  12. {
  13. scanf("%d",&a[i][0]);
  14. }
  15. ll flag=0;
  16. for(ll i=l;;)
  17. {
  18. if(a[i][1]!=0)break;
  19. else
  20. {
  21. a[i][1]=1;
  22. i=a[i][0];
  23. flag++;
  24. }
  25. }
  26. cout<<flag<<endl;
  27. }
  28. }

 C - Final Day

题意:有n组数和一个k,第一行后输入n行数据每行3个数据分别表示1,2,3天,每天最多可以得到300分一共有四天,需要在已得知三天数据的前提输出预测有没有在得到第四天数据的结果后排入第k名,

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. typedef long long ll;
  4. ll a[300001][5],b[300001];
  5. int main()
  6. {
  7. ll n,l;
  8. while(cin>>n>>l)
  9. {
  10. memset(a,0,sizeof(a));
  11. memset(b,0,sizeof(b));
  12. ll sum,Max=0;
  13. for(ll i=0;i<n;i++)
  14. {
  15. for(ll j=0;j<3;j++)
  16. {
  17. scanf("%d",&a[i][j]);
  18. if(j==2)a[i][3]=a[i][0]+a[i][1]+a[i][2];
  19. if(j==2)if(a[i][3]>Max)Max=a[i][3];
  20. if(j==2)b[i]=a[i][3];
  21. }
  22. }
  23. /*for(ll i=0;i<n;i++)
  24. {
  25. for(ll j=0;j<3;j++)
  26. {
  27. printf("%d ",a[i][j]);
  28. }
  29. cout<<endl;
  30. }*/
  31. sort(b,b+n);
  32. for(ll i=0;i<n;i++)
  33. {
  34. if(a[i][3]+300>=b[n-l])printf("Yes\n");
  35. else printf("No\n");
  36. }
  37. }
  38. return 0;
  39. }

AtCoder Regular Contest 129

A - Smaller XOR

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. long long n,l,r;
  6. cin>>n>>l>>r;
  7. r++;
  8. long long sum=0;
  9. for(int i=0;i<61;i++)
  10. {
  11. //cout<<i<<" "<<(1ll<<i)<<" "<<(2ll<<i)<<endl;
  12. if(n&(1ll<<i))
  13. {
  14. long long mn=1ll<<i;
  15. long long mx=2ll<<i;
  16. if(mx>=l && mn<=r)
  17. {
  18. sum+=min(mx,r)-max(mn,l);
  19. }
  20. }
  21. }
  22. cout<<sum<<endl;
  23. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/74425?site
推荐阅读
相关标签
  

闽ICP备14008679号