[题解] A. The Bucket List (待更名)

Posted kaidora

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[题解] A. The Bucket List (待更名)相关的知识,希望对你有一定的参考价值。

http://codeforces.com/group/NVaJtLaLjS/contest/238166/problem/A


输入N表示N只牛要挤奶(1≤N≤100),接下来有N行;

分别表示开始、结束时间(1~1000),以及需要多少桶(110)。

问:最多要准备多少桶?

 

示例:

Input:

3
4 10 1
8 13 3
2 6 2

Output: 

4

 

因为时间范围只有1000,这里只需要维护一个数组buckets[1001]就行。

下标表示时间,值表示这个时间点需要多少个桶。

buckets[1001]={0};    //初始化为0

 

对于第一个数据4101,表示在第410分钟占用了1个桶,

那么从buckets[4]buckets[10],每个都要+1


8133,第813分钟占用3个桶,

buckets[8]buckets[13]+3


第三数据同理。


这时数组打印出来是这样:

 

i		1	2	3	4	5	6	7	8	9	10	11	12	13	
B[i]	0	2	2	3	3	3	1	4	4	4	3	3	3

 

最终得到全部时间中各时间点需要的桶的数量,取其中最大值即可。

 

被注释的两行是中途废弃的数组,这题其实没有什么复杂的,直接100+1000次暴力循环,不需要记一堆区间去求桶数

 1 #include <stdio.h>
 2 
 3 int N;
 4 //int cows[102][3]={0};
 5 int s,f,b;
 6 int max=0;
 7 int buckets[1002]={0};
 8 int main()
 9 {
10     scanf("%d",&N);
11     for(int n=1;n<=N;n++)
12     {
13 //        scanf("%d%d%d",&cows[n][0],&cows[n][1],&cows[n][2]);
14         scanf("%d%d%d",&s,&f,&b);
15         for(int i=s;i<=f;i++)
16         {
17             buckets[i]+=b;
18         }
19     }
20     for(int i=1;i<=1000;i++)
21     {
22         if( buckets[i]>max )max=buckets[i];
23     }
24     printf("%d
",max);
25 /*    
26     printf("i	");
27     for(int i=1;i<=13;i++)
28         printf("%d	",i);
29     puts("");
30     printf("B[i]	");
31     for(int i=1;i<=13;i++)
32         printf("%d	",buckets[i]);
33     puts("");
34 */
35     return 0;
36 }

 





以上是关于[题解] A. The Bucket List (待更名)的主要内容,如果未能解决你的问题,请参考以下文章

[2016-3-10]OMG美语每日笔记-Do you have a place that you really wanna visit on the top of your bucket list?

怎么理解ceph的bucket

Good Bye 2018 A. New Year and the Christmas Ornament

Lintcode372 Delete Node in the Middle of Singly Linked List solution 题解

Codeforces Round #286 (Div. 1) A. Mr. Kitayuta, the Treasure Hunter DP

【ceph】s3cmd 创建bucket名称大小写问题