Submission #2019301


Source Code Expand

#include <iostream>
#include <fstream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <cstring>
#include <string>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <deque>
#include <bitset>
#include <algorithm>
using namespace std;
 
#define REP(i,n) for(int i=0; i<n; ++i)
#define FOR(i,a,b) for(int i=a; i<=b; ++i)
#define FORR(i,a,b) for (int i=a; i>=b; --i)
#define ALL(c) (c).begin(), (c).end()
 
typedef long long ll;
typedef vector<int> VI;
typedef vector<ll> VL;
typedef vector<VL> VVL;
typedef vector<VI> VVI;
typedef pair<int,int> P;
typedef pair<ll,ll> PL;

struct SegmentTree{
    const ll INF = 1e9;
    int n, width;
    VL dat;

    void init(int x){
        n = x;
        width = 1;
        while (width < n) width *= 2;
        dat.assign(2*width-1, -INF);
    }

    void update(int i, ll x){
        i += width - 1;
        dat[i] = x;
        while (i > 0){
            i = (i - 1) / 2;
            dat[i] = max(dat[i*2+1], dat[i*2+2]);
        }
    }

    ll query(int a, int b, int k, int l, int r){
        if (r <= a || b <= l) return -INF;
        if (a <= l && r <= b) return dat[k];
        ll vl = query(a, b, k*2+1, l, (l+r)/2);
        ll vr = query(a, b, k*2+2, (l+r)/2, r);
        return max(vl, vr);
    }

    // [l, r)
    ll query(int l, int r){
        return query(l, r, 0, 0, width);
    }
};

int main() {
    int n, m, k;
    cin >> n >> m >> k;
    VL a(n);
    REP(i,n) scanf("%lld", &a[i]);

    SegmentTree seg[2];
    seg[0].init(n);
    seg[1].init(n);
    REP(i,n) seg[0].update(i, a[i]);

    REP(x,k-1){
        int now = x % 2;
        int next = now ^ 1;

        FOR(i,1,n-1){
            seg[next].update(i, seg[now].query(max(0, i - m), i) + a[i] * (x + 2));
        }
    }

    cout << seg[(k-1)%2].query(0, n) << endl;
    
    return 0;
}

Submission Info

Submission Time
Task A - Struck Out
User TangentDay
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1925 Byte
Status WA
Exec Time 2104 ms
Memory 5120 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:69:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     REP(i,n) 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 × 6
WA × 2
TLE × 2
AC × 10
WA × 2
AC × 19
WA × 2
AC × 28
WA × 4
TLE × 14
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, 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 256 KB
sample_3.txt AC 1 ms 256 KB
subtask_1_1.txt AC 1 ms 256 KB
subtask_1_2.txt AC 345 ms 896 KB
subtask_1_3.txt TLE 2104 ms 5120 KB
subtask_1_4.txt AC 19 ms 512 KB
subtask_1_5.txt AC 73 ms 5120 KB
subtask_1_6.txt WA 3 ms 256 KB
subtask_1_7.txt AC 1377 ms 5120 KB
subtask_1_8.txt TLE 2104 ms 5120 KB
subtask_1_9.txt WA 11 ms 256 KB
subtask_2_1.txt AC 2 ms 256 KB
subtask_2_2.txt AC 1 ms 256 KB
subtask_2_3.txt AC 2 ms 256 KB
subtask_2_4.txt AC 1 ms 256 KB
subtask_2_5.txt WA 1 ms 256 KB
subtask_2_6.txt WA 1 ms 256 KB
subtask_2_7.txt AC 2 ms 256 KB
subtask_2_8.txt AC 2 ms 256 KB
subtask_2_9.txt AC 2 ms 256 KB
subtask_3_1.txt AC 511 ms 5120 KB
subtask_3_2.txt AC 619 ms 5120 KB
subtask_3_3.txt AC 603 ms 5120 KB
subtask_3_4.txt AC 492 ms 4992 KB
subtask_3_5.txt AC 18 ms 512 KB
subtask_3_6.txt AC 283 ms 5120 KB
subtask_3_7.txt AC 444 ms 5120 KB
subtask_3_8.txt AC 54 ms 896 KB
subtask_3_9.txt AC 568 ms 5120 KB
subtask_4_1.txt TLE 2104 ms 5120 KB
subtask_4_10.txt TLE 2104 ms 5120 KB
subtask_4_11.txt TLE 2104 ms 5120 KB
subtask_4_12.txt TLE 2104 ms 5120 KB
subtask_4_13.txt TLE 2104 ms 5120 KB
subtask_4_2.txt TLE 2104 ms 5120 KB
subtask_4_3.txt TLE 2104 ms 5120 KB
subtask_4_4.txt TLE 2104 ms 5120 KB
subtask_4_5.txt TLE 2104 ms 5120 KB
subtask_4_6.txt AC 320 ms 5120 KB
subtask_4_7.txt TLE 2104 ms 5120 KB
subtask_4_8.txt TLE 2104 ms 5120 KB
subtask_4_9.txt TLE 2104 ms 5120 KB