• 洛谷 P1404 平均数


    题目描述

    给一个长度为n的数列,我们需要找出该数列的一个子串,使得子串平均数最大化,并且子串长度>=m。

    输入输出格式

    输入格式:

     

    N+1行,

    第一行两个整数n和m

    接下来n行,每行一个整数a[i],表示序列第i个数字

     

    输出格式:

     

    一个整数,他是最大平均数的1000倍,如果末尾有小数,直接舍去,不要用四舍五入求整。

     

    输入输出样例

    输入样例#1: 复制
    10 6
    6
    4
    2
    10
    3
    8
    5
    9
    4
    1
    
    输出样例#1: 复制
    6500
    

    说明

    【数据范围】

    60% M<=N<=10000

    100% M<=N<=100000 0<=a[i]<=2000

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,m;
    double ans;
    int num[100001],sum[100001];
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)    scanf("%d",&num[i]);
        for(int i=1;i<=n;i++)    sum[i]=sum[i-1]+num[i];
        for(int k=m;k<=n;k++)
            for(int i=0;i+k<=n;i++)
                ans=max(ans,(sum[i+k]-sum[i])*1.0/(k*1.0));
        cout<<int(ans*1000);
    }
    71
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,m;
    long long l,r,mid;
    long long num[100001],sum[100001];
    bool judge(long long now){
        long long Min=0x7f7f7f7f;        
        for(int i=1;i<=n;i++){
            sum[i]=sum[i-1]+num[i]-now;
            if(i>=m){
                Min=min(Min,sum[i-m]);
                if(sum[i]>=Min)
                    return true;
            }    
        }
        return false;
    }
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++){
            cin>>num[i];
            num[i]*=10000;
        }    
        l=0;r=20000000;
        while(l<=r){
            mid=(l+r)/2;
            if(judge(mid))    l=mid+1;
            else r=mid-1;
        }
        cout<<l/10;
    }
    100
  • 相关阅读:
    java学习day62-Spring boot整合Shiro配置
    java学习day62-springboot中的拦截
    java学习day62-DB项目-首页菜单动态显示
    疯狂学java的第26天
    疯狂学java的第25天
    疯狂学java的第24天
    疯狂学java的第23天
    疯狂学java的第22天
    疯狂学java的第21天
    疯狂学java的第20天
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/9724587.html
Copyright © 2020-2023  润新知