zoukankan      html  css  js  c++  java
  • 洛谷P4086 [USACO17DEC]My Cow Ate My Homework S

    题目

    https://www.luogu.com.cn/problem/P4086

    思路

    水题,注意精度问题就好,建议保存一个分子,一个分母,比较时用乘法代替除法,避免精度误差。

    代码

    #include<cstdlib>
    #include<algorithm>
    #define maxn (int)(1e5+10)
    #define inf 0x3f3f3f3f
    using namespace std;
    int a[maxn],m[maxn],n,s[maxn];
    int d[maxn],cnt=0;
    long long val1=-1,val2=1;
    int main(){
    	int i,j;
    	scanf("%d",&n);
    	for(i=1;i<=n;++i)
    		scanf("%d",&a[i]);
    	m[n+1]=inf;
    	for(i=n;i>=1;--i){
    		m[i]=min(m[i+1],a[i]);
    		s[i]=s[i+1]+a[i];
    	}
    	for(i=1;i<=n-2;++i){
    		if((s[i+1]-m[i+1])*val2>(n-i-1)*val1){
    			val1=s[i+1]-m[i+1];
    			val2=n-i-1;
    			cnt=0;
    			d[++cnt]=i;
    		}
    		else if((s[i+1]-m[i+1])*val2==(n-i-1)*val1) d[++cnt]=i;
    	}
    	for(i=1;i<=cnt;++i)
    		printf("%d
    ",d[i]);
    	// system("pause");
    	return 0;
    }
  • 相关阅读:
    杭电1827
    hdu 3118
    poj 2060
    hdu 2236
    poj 2226
    poj 1719
    poj 1466
    poj 3160
    骑士飞行棋笔记
    基础测试学习笔记
  • 原文地址:https://www.cnblogs.com/landmine-sweeper/p/13994201.html
Copyright © 2011-2022 走看看