您的位置:首页 > 其它

zznuoj 1909: yifan的数组

2015-07-20 13:50 357 查看

1909: yifan的数组

题目描述

给你一个数组,初始值都是0,然后有N个操作,每次在一段区间L,R上加W,操作完后,求出这个数组中最大值是多少?

输入

多组样例,一个数字N表示N个操作,接下来N个数字L,R, W,表示给区间L,R加W,(1 <= L, R, W <= 100000。0 <= N <= 100000)

输出

一个数字代表答案

样例输入

3
1 2 1
1 3 2
1 3 4
4
1 1 2
2 2 4
3 3 1
4 4 5
0

样例输出

7
5
0

#include <stdio.h>
#include <string.h>
#include <iostream>
#include <algorithm>

using namespace std;
long long int a[100010];

int main()
{

long long int w, n, m;
while(scanf("%lld",&n)!= EOF)
{
if(n == 0)
{
printf("0\n");continue;
}
memset(a,0,sizeof(a));
int l,b,c;
for (int i = 1; i <= n; i++)
{
scanf("%d%d%d",&l,&b,&c);
a[l] += c;
a[b+1] -= c;
}
long long int ma=a[1];
for(int i = 1; i < n; i++)
{
a[i+1] += a[i];
if(ma < a[i+1]) ma = a[i+1];
}
printf("%lld\n", ma);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: