zoukankan      html  css  js  c++  java
  • coderforce 675C(贪心)

    题目链接:http://codeforces.com/contest/675/problem/C

    题目大意:给你n长度的一列数, 保证他们的平均数是存在的,如样例移动, 问你移动最少的次数是多少?

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstring>
     4 #include <algorithm>
     5 #include <cstdlib>
     6 #include <cmath>
     7 #include <set>
     8 #include <map>
     9 #include <vector>
    10 using namespace std;
    11 
    12 
    13 int max(int a, int b)
    14 {
    15     return a > b ? a : b;
    16 }
    17 int main()
    18 {
    19     int n, a, num;
    20     __int64 sum;
    21     while(~scanf("%d", &n)){
    22         num = 0, sum = 0;
    23         map <__int64, int> m;
    24         for(int i = 0; i < n; i++){
    25             scanf("%d", &a);
    26             sum += a;
    27             m[sum]++;
    28             num = max(num, m[sum]);//尽可能最多的0区间
    29         }
    30         printf("%d
    ", n - num);//每个k长度的0区间移动的个数为k-1
    31     }
    32     return 0;
    33 }
  • 相关阅读:
    全局变量 和 局部变量
    函数
    字符串拼接
    集合
    字典
    元祖
    列表
    Python 字符串 小练习
    ssm多数据源配置
    JAVA笔记:double四舍五入并保留两位小数的方法
  • 原文地址:https://www.cnblogs.com/luomi/p/5502984.html
Copyright © 2011-2022 走看看