zoukankan      html  css  js  c++  java
  • Codeforces Round #260 (Div. 2)

    A. Laptops http://codeforces.com/contest/456/problem/A

     1 #include<cstdio>
     2 #include<algorithm>
     3 using namespace std;
     4 const int M=100010;
     5 struct G{
     6     int x,y;
     7     friend bool operator <(G a,G b){
     8         return a.x<b.x;
     9     }
    10 }g[M];
    11 int main(){
    12     int n;
    13     while(~scanf("%d",&n)){
    14         for(int i=0;i<n;i++){
    15             scanf("%d%d",&g[i].x,&g[i].y);
    16         }
    17         sort(g,g+n);
    18         bool flag=false;
    19         for(int i=0;i<n-1;i++){
    20             if(g[i].y>g[i+1].y){
    21                 flag=true;
    22                 break;
    23             }
    24         }
    25         if(flag) puts("Happy Alex");
    26         else puts("Poor Alex");
    27     }
    28     return 0;
    29 }
    View Code

     B. Fedya and Maths http://codeforces.com/contest/456/problem/B

     1 #include<cstdio>
     2 const int M=100010;
     3 char a[M];
     4 int id2[]={1,2,4,3};
     5 int id3[]={1,3,4,2};
     6 int id4[]={1,4};
     7 int getid(int op){
     8     int res=0;
     9     for(int i=0;a[i];i++){
    10         res=((res<<3)+(res<<1)+a[i]-'0')%op;
    11     }
    12     return res;
    13 }
    14 int main(){
    15     while(~scanf("%s",a)){
    16         int ans=1+id2[getid(4)]+id3[getid(4)]+id4[getid(2)];
    17         printf("%d
    ",ans%5);
    18     }
    19     return 0;
    20 }
    View Code

     C. Boredom http://codeforces.com/contest/456/problem/C

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #define mt(a,b) memset(a,b,sizeof(a))
     5 using namespace std;
     6 typedef __int64 LL;
     7 const int M=100010;
     8 int a[M];
     9 LL dp[M][2];
    10 int main(){
    11     int n,x;
    12     while(~scanf("%d",&n)){
    13         mt(a,0);
    14         for(int i=0;i<n;i++){
    15             scanf("%d",&x);
    16             a[x]++;
    17         }
    18         dp[0][0]=dp[0][1]=0;
    19         for(int i=1;i<=100001;i++){
    20             dp[i][0]=max(dp[i-1][0],dp[i-1][1]);
    21             dp[i][1]=dp[i-1][0]+(LL)a[i]*i;
    22         }
    23         printf("%I64d
    ",dp[100001][0]);
    24     }
    25     return 0;
    26 }
    View Code

    end

  • 相关阅读:
    二分图匹配详解
    树状数组略解
    质数算法略解
    主席树详解
    线段树略解
    【题解】Luogu P2073 送花
    【题解】Luogu P1533 可怜的狗狗
    分块入门
    【题解】Luogu CF86D Powerful array
    【题解】Luogu UVA12345 Dynamic len(set(a[L:R]))
  • 原文地址:https://www.cnblogs.com/gaolzzxin/p/3900534.html
Copyright © 2011-2022 走看看