답안 #489505

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
489505 2021-11-23T04:35:51 Z wiwiho 3단 점프 (JOI19_jumps) C++14
5 / 100
4000 ms 524292 KB
#include<bits/stdc++.h>

#define mp make_pair
#define F first
#define S second
#define printv(a, b) { \
    for(auto pv : a) b << pv << " "; \
    b << "\n";\
}
#define eb emplace_back

using namespace std;

typedef long long ll;

using pii = pair<int, int>;
using pll = pair<ll, ll>;

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    int n;
    cin >> n;

    vector<ll> a(n + 1);
    for(int i = 1; i <= n; i++) cin >> a[i];

    vector<vector<ll>> dp(n + 1, vector<ll>(n + 1));

    for(int i = 1; i + 2 <= n; i++){
        ll mx = a[i + 1];
        int p = i + 1;
        for(int j = i + 2; j <= n; j++){
            for(int k = i + 1; k < j; k++){
                if(k - i <= j - k) dp[i][j] = max(dp[i][j], a[i] + a[j] + a[k]);
            }
        }
        /*for(int j = i + 2; j <= n; j++){
            while(p + 1 - i <= j - p - 1){
                mx = max(mx, a[p]);
                p++;
            }
            //cerr << i << " " << j << " " << p << "\n";
            dp[i][j] = a[i] + a[j] + mx;
        }*/
    }

    /*for(int len = 3; len <= n; len++){
        for(int i = 1; i + len <= n; i++){
            int j = i + len;
            dp[i][j] = max({dp[i][j], dp[i][j - 1], dp[i + 1][j]});
        }
    }*/
    
    int q;
    cin >> q;
    while(q--){
        int l, r;
        cin >> l >> r;
        ll ans = 0;
        for(int i = l; i + 2 <= r; i++){
            for(int j = i + 2; j <= r; j++){
                ans = max(ans, dp[i][j]);
            }
        }
        cout << ans << "\n";
    }

    return 0;
}

Compilation message

jumps.cpp: In function 'int main()':
jumps.cpp:32:12: warning: unused variable 'mx' [-Wunused-variable]
   32 |         ll mx = a[i + 1];
      |            ^~
jumps.cpp:33:13: warning: unused variable 'p' [-Wunused-variable]
   33 |         int p = i + 1;
      |             ^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 312 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 312 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
11 Execution timed out 4051 ms 196268 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 308 ms 524292 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 204 KB Output is correct
2 Correct 1 ms 332 KB Output is correct
3 Correct 1 ms 312 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 1 ms 332 KB Output is correct
8 Correct 1 ms 332 KB Output is correct
9 Correct 1 ms 332 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
11 Execution timed out 4051 ms 196268 KB Time limit exceeded
12 Halted 0 ms 0 KB -