zoukankan      html  css  js  c++  java
  • CCF

    问题描述
      小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k
      请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。
    输入格式
      输入的第一行包含了两个整数nk,意义如上所述。
      第二行包含n个正整数,依次表示a1a2, …, an
    输出格式
      输出一个整数,表示有多少个朋友分到了蛋糕。
    样例输入
    6 9
    2 6 5 6 3 5
    样例输出
    3
    样例说明
      第一个朋友分到了前3块蛋糕,第二个朋友分到了第4、5块蛋糕,第三个朋友分到了最后一块蛋糕。
    评测用例规模与约定
      对于所有评测用例,1 ≤ n ≤ 1000,1 ≤ k ≤ 10000,1 ≤ ai ≤ 1000。
     
    我最开始写的
     1 #include <iostream>
     2 
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int n, k;
     8     int a[1001] = {};
     9     int count = 0;
    10     int i;
    11     cin>>n>>k;
    12     for(i = 0; i < n; i ++)
    13     {
    14         cin>>a[i];
    15     }
    16     i = 0;
    17     while(a[i] != 0)
    18     {
    19         int weight = 0;
    20         for(; i < n; i ++)
    21         {
    22             if(weight >= k)
    23                 break;
    24             weight += a[i];
    25         }
    26         count ++;
    27     }
    28     cout<<count<<endl;
    29 
    30     return 0;
    31 }

    后来看了其他人的。。发现能简化好多。。

    如下。。

     1 #include <iostream>
     2 
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     int n, k;
     8     int a[1001] = {};
     9     int count = 0, weight = 0;
    10     int i;
    11     cin>>n>>k;
    12     for(i = 0; i < n; i ++)
    13     {
    14         cin>>a[i];
    15         weight += a[i];
    16         if(weight >= k)
    17         {
    18             weight = 0;
    19             count++;
    20         }    
    21     }
    22     if(weight > 0)
    23         count ++;
    24     cout<<count<<endl;
    25 
    26     return 0;
    27 }
    道阻且长,行则将至。
  • 相关阅读:
    MFC Windows 程序设计>WinMain 简单Windows程序 命令行编译
    AT3949 [AGC022D] Shopping 题解
    CF643D Bearish Fanpages 题解
    CF643C Levels and Regions 题解
    CF241E Flights 题解
    CF671C Ultimate Weirdness of an Array 题解
    CF1592F Alice and Recoloring 题解
    GYM 102452E 题解
    CF494C Helping People 题解
    P5556 圣剑护符
  • 原文地址:https://www.cnblogs.com/forfriendforfun/p/9357373.html
Copyright © 2011-2022 走看看