zoukankan      html  css  js  c++  java
  • CodeForces 1009C贪心

    题意给你一个空数组,让你完成m个操作,问你最大的平均值

    其实就是只和d有关,d为正数,就选择i为1,使得d[i]*((1+n/2)*(n/2))值最大

    d为负数,i为n/2,使得d[i]*(n/2*(n/2-1)+n/2)值最小

    #include<bits/stdc++.h>
    #define ll long long
    #define UP(x,y) for(int x=1;x<=y;x++)
    #define in(x) scanf("%lld",&x)
    #define in2(x,y) scanf("%lld%lld",&x,&y)
    #define in3(x,y,z) scanf("%lld%lld%lld",&x,&y,&z)
    #define mem(x,y) memset(x,y,sizeof(x))
    using namespace std;
    const int maxn=100005;
    ll a[maxn];
    ll sum;
    ll x[maxn],d[maxn];
    int main()
    {
        ll n,m;
        mem(a,0);
        in2(n,m);
        UP(i,m)
        {
            in(x[i]);
            in(d[i]);
        }
        sum=0;
        UP(i,m)
        {
            if(d[i]>=0)
            {
                sum=sum+x[i]*n+d[i]*((n-1)*n)/2;
            }
            else
            {
                if(n%2==1)
                {
                    sum=sum+x[i]*n+d[i]*((1+n/2)*(n/2));
                }
                else
                {
                    sum=sum+x[i]*n+d[i]*(n/2*(n/2-1)+n/2);
                }
            }
        }
        printf("%lf",sum*1.0/n);
    
        return 0;
    }
  • 相关阅读:
    pyinstaller guid
    python filter()和map()函数
    python eval()
    day6
    repr()函数是什么鬼?
    fibonacci_question
    冒泡算法
    python 函数
    day4作业
    NOIp 2013 #1 积木大赛 Label:有趣的模拟
  • 原文地址:https://www.cnblogs.com/Json-Five/p/9763363.html
Copyright © 2011-2022 走看看