248992026-02-16 16:48:19szjMI bróker (50 pont)cpp17Accepted 50/50303ms2504 KiB
#include <bits/stdc++.h>
using namespace std;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n, m, a, i, b, mi, j;
    cin >> n >> m;
    vector<int>ize;
    cin >> a;
    ize.push_back(a);
    for(i=1; i<n; i++)
    {
        cin >> a;
        if(a!=ize[i-1])ize.push_back(a);
    }
    vector<vector<int>> vec(501, vector<int>(501, 0));
    for(i=0; i<501; i++)
    {
        mi=501;
        for(auto x:ize)
        {
            if(x<=i)
            {
                vec[i][i+1]-=x;
                vec[i][mi]+=x;
                mi=i+1;
            }
            else if(x>=mi)
            {
                vec[i][mi]+=x;
                vec[i][x+1]-=x;
                mi=x+1;
            }
        }
        for(j=i+1; j<501; j++)vec[i][j]+=vec[i][j-1];
    }
    while(m--)
    {
        cin >> i >> j;
        cout << vec[i][j] << endl;
    }
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base50/50
1Accepted0/02ms1352 KiB
2Accepted0/0179ms1836 KiB
3Accepted1/12ms1332 KiB
4Accepted1/12ms1332 KiB
5Accepted2/24ms1348 KiB
6Accepted2/234ms1476 KiB
7Accepted2/232ms1332 KiB
8Accepted1/1287ms1732 KiB
9Accepted1/1277ms1992 KiB
10Accepted2/2303ms2496 KiB
11Accepted2/2277ms2100 KiB
12Accepted2/2289ms2356 KiB
13Accepted2/2298ms2492 KiB
14Accepted2/2289ms2240 KiB
15Accepted3/3282ms2496 KiB
16Accepted3/3289ms2356 KiB
17Accepted3/3303ms2500 KiB
18Accepted3/3287ms2504 KiB
19Accepted3/3296ms2356 KiB
20Accepted3/3293ms2500 KiB
21Accepted3/3294ms2492 KiB
22Accepted3/3286ms2352 KiB
23Accepted3/3282ms2348 KiB
24Accepted3/3268ms2356 KiB