zoukankan      html  css  js  c++  java
  • yifan的数组

    yifan的数组

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 159  解决: 47
    [提交][状态]

    题目描述

    给你一个数组,初始值都是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<iostream>
    #include<cstring>
    #include<cstring>
    
    using namespace std;
    
    #define N 100010
    
    int main()
    {
        int n, l, r, w, a[N];
    
        while(cin >> n)
        {
            int ans = 0, maxx = 0;;
    
            memset(a, 0, sizeof(a));
    
            if(n == 0)
            {
                cout << n << endl;
                break;
            }
            for(int i = 0; i < n; i++)
            {
                cin >> l >> r >> w;
    
                ans = ans > r ? ans : r;
    
                a[l] += w;
                a[r+1] -= w;
            }
    
            for(int i = 1; i <= ans; i++)
            {
                a[i] += a[i-1];
                if(a[i] > maxx)
                    maxx = a[i];
            }
            cout << maxx << endl;
        }
        return 0;
    }
    让未来到来 让过去过去
  • 相关阅读:
    什么是级联
    @GeneratedValue
    Spring Data JPA中CrudRepository与JpaRepository的不同
    Spring Data JPA的方法命名规则
    C/S架构的渗透测试-请求加解密及测试
    各类Fuzz字典
    Nessus8.11破解
    xss实验1-20writeup
    IIS短文件名漏洞
    Linux挂载exfat文件系统的U盘
  • 原文地址:https://www.cnblogs.com/Tinamei/p/4661959.html
Copyright © 2011-2022 走看看