Submission #1012360


Source Code Expand

#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

typedef long long ll;

int n, m, k;
ll a[111111];
ll dp[333][33];
ll dp2[2][333];

int main(void) {
  scanf("%d%d%d", &n, &m, &k);
  for (int i = 0; i < n; i++) {
    scanf("%lld", a+i);
  }
  if (n == m) {
    ll res = 0;
    memset(dp2, -1, sizeof(dp2));
    dp2[0][0] = 0;
    dp2[0][1] = a[0];
    for (int i = 0; i < n; i++) {
      for (int j = 1; j <= k; j++) {
        if (dp2[i%2][j-1] >= 0) {
          dp2[(i+1)%2][j] = max({
                dp2[(i+1)%2][j],
                    dp2[i%2][j-1] + a[i]*j,
                    dp2[i%2][j]
                  });
        }
      }
      for (int j = 0; j <= k; j++) {
        res = max(res, dp2[(i+1)%2][j]);
        dp2[i%2][j] = 0;
        // printf("%5lld", dp2[(i+1)%2][j]);
      }
      // puts("");
    }
    printf("%lld\n", res);
  } else if (n <= 300 && k <= 30) {
    memset(dp, -1, sizeof(dp));
    for (int i = 0; i <= n; i++) {
      dp[i][0] = 0;
    }
    for (int i = 1; i <= n; i++) {
      for (int j = 0; j < k; j++) {
        for (int l = 1; l <= m && i-l >= 0; l++) {
          if (dp[i-l][j] >= 0) {
            dp[i][j+1] = max(dp[i][j+1],
                             dp[i-l][j]+a[i-1]*(j+1));
          }
        }
      }
    }
    ll res = 0;
    for (int i = 0; i <= n+1; i++) {
      for (int j = 0; j <= k; j++) {
        // printf("%5lld", dp[i][j]);
        res = max(res, dp[i][j]);
      }
      // puts("");
    }
    printf("%lld\n", res);
  } else {
    return -1;
  }
  return 0;
}

Submission Info

Submission Time
Task A - Struck Out
User roxion1377
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1627 Byte
Status WA
Exec Time 98 ms
Memory 896 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:15:30: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d", &n, &m, &k);
                              ^
./Main.cpp:17:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld", a+i);
                       ^

Judge Result

Set Name Sample subtask1 subtask2 subtask3 All
Score / Max Score 0 / 0 0 / 100 0 / 200 0 / 300 0 / 100
Status
AC × 3
AC × 5
WA × 5
AC × 10
WA × 2
AC × 10
WA × 2
RE × 9
AC × 14
WA × 7
RE × 22
Set Name Test Cases
Sample sample_1.txt, sample_2.txt, sample_3.txt
subtask1 sample_2.txt, subtask_1_1.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt
subtask2 sample_1.txt, sample_2.txt, sample_3.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt
subtask3 sample_1.txt, sample_2.txt, sample_3.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt
All sample_1.txt, sample_2.txt, sample_3.txt, subtask_1_1.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt, subtask_1_8.txt, subtask_1_9.txt, subtask_2_1.txt, subtask_2_2.txt, subtask_2_3.txt, subtask_2_4.txt, subtask_2_5.txt, subtask_2_6.txt, subtask_2_7.txt, subtask_2_8.txt, subtask_2_9.txt, subtask_3_1.txt, subtask_3_2.txt, subtask_3_3.txt, subtask_3_4.txt, subtask_3_5.txt, subtask_3_6.txt, subtask_3_7.txt, subtask_3_8.txt, subtask_3_9.txt, subtask_4_1.txt, subtask_4_10.txt, subtask_4_11.txt, subtask_4_12.txt, subtask_4_13.txt, subtask_4_2.txt, subtask_4_3.txt, subtask_4_4.txt, subtask_4_5.txt, subtask_4_6.txt, subtask_4_7.txt, subtask_4_8.txt, subtask_4_9.txt
Case Name Status Exec Time Memory
sample_1.txt AC 1 ms 256 KB
sample_2.txt AC 1 ms 128 KB
sample_3.txt AC 1 ms 256 KB
subtask_1_1.txt WA 1 ms 128 KB
subtask_1_2.txt WA 11 ms 256 KB
subtask_1_3.txt AC 98 ms 896 KB
subtask_1_4.txt AC 2 ms 256 KB
subtask_1_5.txt AC 15 ms 896 KB
subtask_1_6.txt WA 2 ms 128 KB
subtask_1_7.txt AC 43 ms 896 KB
subtask_1_8.txt WA 98 ms 896 KB
subtask_1_9.txt WA 2 ms 128 KB
subtask_2_1.txt AC 5 ms 256 KB
subtask_2_2.txt AC 2 ms 256 KB
subtask_2_3.txt AC 2 ms 256 KB
subtask_2_4.txt WA 1 ms 128 KB
subtask_2_5.txt AC 2 ms 256 KB
subtask_2_6.txt WA 1 ms 128 KB
subtask_2_7.txt AC 2 ms 256 KB
subtask_2_8.txt AC 4 ms 256 KB
subtask_2_9.txt AC 4 ms 256 KB
subtask_3_1.txt RE 13 ms 896 KB
subtask_3_2.txt RE 13 ms 896 KB
subtask_3_3.txt RE 13 ms 896 KB
subtask_3_4.txt RE 11 ms 768 KB
subtask_3_5.txt RE 2 ms 256 KB
subtask_3_6.txt RE 13 ms 896 KB
subtask_3_7.txt RE 13 ms 896 KB
subtask_3_8.txt RE 3 ms 256 KB
subtask_3_9.txt RE 13 ms 896 KB
subtask_4_1.txt RE 13 ms 896 KB
subtask_4_10.txt RE 13 ms 896 KB
subtask_4_11.txt RE 13 ms 896 KB
subtask_4_12.txt RE 13 ms 896 KB
subtask_4_13.txt RE 13 ms 896 KB
subtask_4_2.txt RE 13 ms 896 KB
subtask_4_3.txt RE 13 ms 896 KB
subtask_4_4.txt RE 13 ms 896 KB
subtask_4_5.txt RE 13 ms 896 KB
subtask_4_6.txt RE 13 ms 896 KB
subtask_4_7.txt RE 13 ms 896 KB
subtask_4_8.txt RE 13 ms 896 KB
subtask_4_9.txt RE 13 ms 896 KB