zoukankan      html  css  js  c++  java
  • codeforces A. Group of Students 解题报告

    题目链接:http://codeforces.com/problemset/problem/357/A

    题目意思:将一堆人分成两组:beginners 和 intermediate coders 。每一个人都有一个point,给出每一个point里的总人数(Ci 个人有分数 i )和 x,y,需要找出划分为两组后,每一个组的人数(假设为a,b)符合 x <=  a  <= y 并且 x<= b <= y 的条件,输出这a个人是小于哪个point的,这个point还应该满足另一组的b个人都不小于它。当不能找到这个point符合条件时,输出0.

         直接模拟即可。不断累加读入的人数,当这个人数 >= x时,就验证(总人数 - 这个从前往后依次累加的人数)是否也满足 <= y这个条件,一旦发现满足,就得到答案了,此时输出对应累加的人数中最后一个人所拥有的point。这里用到结构体来处理。

     1 #include <iostream>
     2 #include <cstdio>
     3 #include <cstdlib>
     4 using namespace std;
     5 
     6 const int maxn = 1e4 + 10;
     7 
     8 struct students
     9 {
    10     int num;       // 每一个分数所对应的人数
    11     int point;
    12 } exa[maxn];
    13 
    14 int main()
    15 {
    16     int x, y, m, i, flag, sum1, sum2, sum;
    17     while (scanf("%d", &m) != EOF)
    18     {
    19         sum = 0;
    20         for (i = 1; i <= m; i++)
    21         {
    22             scanf("%d", &exa[i].num);
    23             sum += exa[i].num;
    24             exa[i].point = i;
    25         }
    26         scanf("%d%d", &x, &y);
    27         sum1 = 0;
    28         flag = 0;
    29         for (i = 1; i <= m; i++)
    30         {
    31             sum1 += exa[i].num;   // 划分后第一个组的人数
    32             sum2 = sum - sum1;   // 划分后第二个组的人数
    33             if ((sum1 >= x && sum1 <= y) && (sum2 >= x && sum2 <= y))
    34             {
    35                 flag = 1;   // 找到一个解的标志
    36                 break;
    37             }
    38         }
    39         if (flag)
    40             printf("%d
    ", exa[i+1].point);
    41         else
    42             printf("0
    ");
    43     }
    44     return 0;
    45 }
  • 相关阅读:
    HTML5课程
    css3兼容代码
    动画
    css3学习笔记(一)
    3d旋转
    Windows安装IIS后,启动网站报错:不能在此路径中使用此配置节……
    AngularJs1.X学习--路由
    Angular学习笔记 ——input 标签上的【name属性】和【ngModelOptions属性】
    Angular学习笔记【ngx-bootstrap】中的 tabset
    TFS 签入时,提示“变更集注释策略 中的内部错误……”
  • 原文地址:https://www.cnblogs.com/windysai/p/3373419.html
Copyright © 2011-2022 走看看