Submission #153900

# Submission time Handle Problem Language Result Execution time Memory
153900 2019-09-17T11:23:19 Z arnold518 None (JOI14_ho_t2) C++14
25 / 100
55 ms 20088 KB
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

const int MAXM = 1e4;
const int MAXN = 500;
const int INF = 1e7;

int M, N, P[MAXM+10], C[MAXN+10], E[MAXN+10];
int dp[MAXN+10][MAXM+10], ans;

int main()
{
    int i, j;

    scanf("%d%d", &M, &N);
    for(i=1; i<=M; i++) scanf("%d", &P[i]);
    sort(P+1, P+M+1, greater<int>());
    for(i=1; i<=M; i++) P[i]+=P[i-1];
    for(i=1; i<=N; i++) scanf("%d%d", &C[i], &E[i]);

    for(i=1; i<=M; i++) dp[0][i]=INF;
    for(i=1; i<=N; i++)
    {
        deque<int> DQ;
        for(j=1; j<=M; j++)
        {
            while(!DQ.empty() && DQ.front()<j-C[i]) DQ.pop_front();
            while(!DQ.empty() && dp[i-1][DQ.back()]>=dp[i-1][j-1]) DQ.pop_back();
            DQ.push_back(j-1);
            dp[i][j]=min(dp[i-1][DQ.front()]+E[i], dp[i-1][j]);
        }
    }
    for(i=1; i<=M; i++) ans=max(ans, P[i]-dp[N][i]);
    printf("%d", ans);
}

Compilation message

2014_ho_t2.cpp: In function 'int main()':
2014_ho_t2.cpp:19:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d%d", &M, &N);
     ~~~~~^~~~~~~~~~~~~~~~
2014_ho_t2.cpp:20:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(i=1; i<=M; i++) scanf("%d", &P[i]);
                         ~~~~~^~~~~~~~~~~~~
2014_ho_t2.cpp:23:30: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     for(i=1; i<=N; i++) scanf("%d%d", &C[i], &E[i]);
                         ~~~~~^~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 3 ms 376 KB Output is correct
3 Correct 6 ms 888 KB Output is correct
4 Correct 5 ms 888 KB Output is correct
5 Correct 5 ms 888 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 380 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 5 ms 892 KB Output is correct
10 Correct 5 ms 860 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 55 ms 20088 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 3 ms 376 KB Output is correct
3 Correct 6 ms 888 KB Output is correct
4 Correct 5 ms 888 KB Output is correct
5 Correct 5 ms 888 KB Output is correct
6 Correct 2 ms 376 KB Output is correct
7 Correct 2 ms 380 KB Output is correct
8 Correct 2 ms 376 KB Output is correct
9 Correct 5 ms 892 KB Output is correct
10 Correct 5 ms 860 KB Output is correct
11 Incorrect 55 ms 20088 KB Output isn't correct
12 Halted 0 ms 0 KB -