石大ACM2587解题报告

2014石大校决赛A题。

Description

一年一度的校赛开始了,小武虽然不需要参赛,却还得参与赛前的题目测试工作。为了保证比赛题目数据无误,唐大官要求小武必须把每一个题都做一遍— —||。在无法抗命的情况下,小武决定采用“顺序做题法”,即从第一题开始做,做完之后再做第二题,然后是第三题,以此类推……由于小武课程比较多,时间和精力有限,因此每天最多只能做K分钟的题目,且每个题目只能在一天内做完(如果有一个题第一天只完成了一部分,则第二天必须从头开始做此题,因为他已经看不懂自己前一天写的代码了=,=)。现在已知小武做每个题所需要的时间,问小武最少需要多少天才能完成所有的题目。

Input

第一行一个整数TT<50),表示数据组数。

接下来有T行数据。对每组数据,先读入两个数N(0<N<=104)、K(0<K<=1000),表示有N个题,小武每天最多做题K分钟。接下来是N个数a[0]--a[N-1],分别表示做每个题所需的时间(分钟)。题目保证 0<a[i]<=K(0<=i<=N-1)。

Output

对于每组数据,输出一个数D,表示小武最少需要多少天才能完成所有的题目。

Sample Input

2
3 3
1 2 3
3 3
1 3 3

Sample Output

2
3
 1 #include <stdio.h>
 2 void main()
 3 {
 4     int T;
 5     scanf("%d",&T);
 6     int n,k;
 7     while(T--)
 8     {
 9         scanf("%d%d",&n,&k);
10         int a[10000];
11         int num = 0,s=0;
12         for (int j = 0;j<n;j++)
13         {
14             scanf("%d",&a[j]);
15         }
16         for (int j = 0;j<n;j++) //遍历每个输入
17         {
18             s = s + a[j];        //累加
19             if (s==k)            //若刚好到一天的上限,计数加一,重新累加
20             {
21                 num++;
22                 s=0;
23             }
24             else if (s>k)        //若超过一天的上限,计数加一,把这道题放到后一天,再重新累加
25             {
26                 num++;
27                 s=a[j];
28             }
29         }
30         if(s>0)                    //所有数都遍历完了,如果有题目放到了后一天,则天数加一
31             num++;
32         printf("%d\n",num);
33     }
34 }
时间: 2024-11-02 23:52:53

石大ACM2587解题报告的相关文章

石大ACM25xx解题报告--小朋友跳绳问题

代码能通过测试用例但是还是wrong.今晚到此结束,过两天再说. 在刚刚过去的三八节,学校进行了集体跳绳比赛,要计算在一分钟内跳了多少下.假设每秒钟跳一下,如果中途失败了,则要花三秒钟后才能开始重跳.一般每个队一分钟跳绳或多或少要跳坏几次.现在给出每个队每次跳坏时已经跳的总数,求该队在一分钟内跳了多少下. 请注意页面最后的Hint提示. Input 第一行为n个代表队(0<n<=1000). 其余各行每行第一个整数是跳坏的次数m(0<=m<10),其余m个整数是跳坏时累计跳了多少下

石大ACM2591解题报告

这道是2014年校赛最简单的一道.昨天脑子转不过来,后来躺着想了一会就有思路了.做题关键是要心静吧. 如题: 滨滨来到酱油公司之后,滨滨在闲暇之余到山洞探险,捡到一本有破损的程序设计宝典(20000多页!).滨滨比较细心,他注意到:书的第100页和第101页在同一张纸上,但第101页和第102页不在同一张纸上. Input 仅一行,包含2个整数分别为X和Y的值,表示滨滨想学习第X页到第Y页的内容.(0<X, Y<=20000) Output 滨滨比较懒,不喜欢天天抱着一本大部头,输出他至少要撕

石大ACM2588解题报告

也是简单的石大校赛题,题目废话较多,就是求最小公倍数.由于涉及多个数,so写在函数里. //begin Taozifish是曾经的算法部部长,ACM俱乐部队长,带领大家拿过亚洲区域赛银牌.铜牌和省赛一等奖若干.2013年本科毕业之后以16W年薪入职百度核心部门搜索研发部.经过一段时间的努力,很快就在百度升任项目经理,目前他带领3个开发小组进行新课题的研发.工期紧,任务重,今天大家都在加班呢.为鼓舞士气,Taozifish打算给每个组发一箱“六个核桃”(据传言能补脑). 他的要求是: 1. 各组的

解题报告 之 POJ3057 Evacuation

解题报告 之 POJ3057 Evacuation Description Fires can be disastrous, especially when a fire breaks out in a room that is completely filled with people. Rooms usually have a couple of exits and emergency exits, but with everyone rushing out at the same time

hdu 1541 Stars 解题报告

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1541 题目意思:有 N 颗星星,每颗星星都有各自的等级.给出每颗星星的坐标(x, y),它的等级由所有比它低层(或者同层)的或者在它左手边的星星数决定.计算出每个等级(0 ~ n-1)的星星各有多少颗. 我只能说,题目换了一下就不会变通了,泪~~~~ 星星的分布是不是很像树状数组呢~~~没错,就是树状数组题来滴! 按照题目输入,当前星星与后面的星星没有关系.所以只要把 x 之前的横坐标加起来就可以了

【百度之星2014~初赛(第二轮)解题报告】Chess

声明 笔者最近意外的发现 笔者的个人网站http://tiankonguse.com/ 的很多文章被其它网站转载,但是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站,因此,笔者添加此条声明. 郑重声明:这篇记录<[百度之星2014~初赛(第二轮)解题报告]Chess>转载自 http://tiankonguse.com/ 的这条记录:http://tiankonguse.com/record/record.php?id=667 前言 最近要毕业了,有半年没做

2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告

2016 第七届蓝桥杯 c/c++ B组省赛真题及解题报告 勘误1:第6题第4个 if最后一个条件粗心写错了,答案应为1580. 条件应为abs(a[3]-a[7])!=1,宝宝心理苦啊.!感谢zzh童鞋的提醒. 勘误2:第7题在推断连通的时候条件写错了,后两个if条件中是应该是<=12 落了一个等于号.正确答案应为116. 1.煤球数目 有一堆煤球.堆成三角棱锥形.详细: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形). -. 假设一共

[noip2011]铺地毯(carpet)解题报告

最近在写noip2011的题,备战noip,先给自己加个油! 下面是noip2011的试题和自己的解题报告,希望对大家有帮助,题目1如下 1.铺地毯(carpet.cpp/c/pas) [问题描述]为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯.一共有n 张地毯,编号从1 到n.现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上.地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的

ACdream 1203 - KIDx&#39;s Triangle(解题报告)

KIDx's Triangle Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submit Statistic Next Problem Problem Description One day, KIDx solved a math problem for middle students in seconds! And than he created this problem. N