Submission #168764

# Submission time Handle Problem Language Result Execution time Memory
168764 2019-12-16T04:49:05 Z NHDanDz K blocks (IZhO14_blocks) C++14
0 / 100
41 ms 41592 KB
/// NHDanDz
#include <bits/stdc++.h>
#define nmax 100005
#define F first
#define S second
#define PB push_back
#define PF push_front
#define ll long long
//#define int ll
#define RyoLoveHentai "blocks"
#define pii pair<int,int>
#define reset(a) memset(a,0,sizeof(a))
using namespace std;
int n , k , a[nmax] , d[105][100005];
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    cin >> n >> k;
    for(int i = 1; i <= n; i++)
    {
        cin >> a[i];
    }
    memset(d, 0x3f, sizeof d);
    d[1][0] = 0;
    for(int i = 1; i <= n ; i++)
        d[1][i] = max(d[1][i - 1] , a[i]);
    for(int i = 2; i <= k; i++)
    {
        stack <pii> S;
        for(int j = i; j <= n; j++)
        {
            int MIN = d[i - 1][j - 1];
            //cout << MIN << " ";
            while(S.size() && a[S.top().S] <= a[j])
            {
                MIN = min(MIN , S.top().F);
                S.pop();
            }
            d[i][j] = min(d[i][S.size() ? S.top().S : 0] , MIN + a[j]);
            //cout << (S.size() ? S.top().S : 0) << " ";
            S.push({MIN , i});
        }
        //cout << endl;
    }
    cout << d[k][n];
}

# Verdict Execution time Memory Grader output
1 Correct 35 ms 41464 KB Output is correct
2 Correct 35 ms 41464 KB Output is correct
3 Correct 40 ms 41464 KB Output is correct
4 Correct 35 ms 41592 KB Output is correct
5 Correct 35 ms 41464 KB Output is correct
6 Correct 35 ms 41464 KB Output is correct
7 Correct 35 ms 41464 KB Output is correct
8 Correct 35 ms 41464 KB Output is correct
9 Correct 40 ms 41436 KB Output is correct
10 Correct 35 ms 41464 KB Output is correct
11 Correct 34 ms 41464 KB Output is correct
12 Correct 38 ms 41592 KB Output is correct
13 Incorrect 35 ms 41464 KB Output isn't correct
14 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 35 ms 41464 KB Output is correct
2 Correct 35 ms 41464 KB Output is correct
3 Correct 35 ms 41388 KB Output is correct
4 Correct 35 ms 41464 KB Output is correct
5 Correct 35 ms 41464 KB Output is correct
6 Correct 37 ms 41464 KB Output is correct
7 Correct 35 ms 41464 KB Output is correct
8 Correct 34 ms 41440 KB Output is correct
9 Correct 35 ms 41464 KB Output is correct
10 Correct 35 ms 41388 KB Output is correct
11 Correct 35 ms 41464 KB Output is correct
12 Correct 37 ms 41468 KB Output is correct
13 Correct 41 ms 41464 KB Output is correct
14 Incorrect 35 ms 41464 KB Output isn't correct
15 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 35 ms 41592 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 38 ms 41464 KB Output isn't correct
2 Halted 0 ms 0 KB -