zoukankan      html  css  js  c++  java
  • HDU 4379 The More The Better

     

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4379 

    多么简单的一道题,比赛的时候竟然想着用数组存上,结果MLE了,然后就一直在纠结他的那句every pair of (Yi, Yj) satisfies Yi + Yj <= L (1 ≤ i < j ≤ m), and every Yi <= L (1 ≤ i ≤ m ) 。。。。

    思路:从1-n算出Xi ,如果<=L/2,sum++,算的过程中记下<=L/2的最大值和>L/2的最小值,如果这两个值的和<=L,sum++。。

    代码:

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4 #define LL long long
     5 using namespace std;
     6 int main()
     7 {
     8     LL a,b,mod,n,l,min,max,ll,k;
     9     int i,j,sum;
    10     while(~scanf("%I64d%I64d%I64d%I64d%I64d",&n,&l,&a,&b,&mod))
    11     {
    12         max=0;
    13         min=l;
    14         sum=0;
    15         ll=l/2;
    16         for(i=1;i<=n;i++)
    17         {
    18             k=(a*i+b)%mod;
    19             if(k<=ll)
    20             {
    21                 sum++;
    22                 if(k>max)
    23                     max=k;
    24             }
    25             else if(k<min)
    26                 min=k;
    27         }
    28         if(min+max<=l)
    29             sum++;
    30         printf("%d\n",sum);
    31     }
    32     return 0;
    33 }


  • 相关阅读:
    Android登入界面
    安卓第4周作业
    第13周作业
    5.28上机作业
    5.22作业
    数据返回值
    登录
    安卓
    安卓第四周
    安卓第四周
  • 原文地址:https://www.cnblogs.com/pony1993/p/2643403.html
Copyright © 2011-2022 走看看