답안 #167210

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
167210 2019-12-06T15:57:00 Z theStaticMind 3단 점프 (JOI19_jumps) C++14
5 / 100
4000 ms 524292 KB
#include<bits/stdc++.h>
#define mp make_pair
#define pb push_back
#define ii pair<int,int>
#define all(x) (x).begin(),(x).end()
#define INF 100000000000000000
#define modulo 1000000007
#define mod 998244353
#define int long long int
using namespace std;

int32_t main(){
      ios_base::sync_with_stdio(false);
      cin.tie(NULL);
   //   freopen("q.gir","r",stdin);
   //   freopen("q.cik","w",stdout);
      int n;
      cin>>n;
      vector<int>arr(n);
      for(int i=0;i<n;i++)cin>>arr[i];
      int q;
      cin>>q;
      vector<vector<int>>table(25,vector<int>(n,0));
      vector<vector<int>>rmq(n,vector<int>(n,0));
      table[0]=arr;
      for(int d=1;d<25;d++){
            for(int i=0;i<n;i++){
                  table[d][i]=table[d-1][i];
                  if(i+(1<<(d-1))<n)table[d][i]=max(table[d][i],table[d-1][i+(1<<(d-1))]);
            }
      }
      for(int i=0;i<n;i++){
            for(int j=i+2;j<n;j++){
                  int diff=(j-i)/2;
                  int l=i+1,r=i+diff+1;
                  while(l<r){
                        diff=r-l;
                        int w=diff&-diff;
                        int log=0;
                        while(w>1){
                              log++;
                              w/=2;
                        }
                        rmq[i][j]=max(rmq[i][j],arr[i]+arr[j]+table[log][l]);
                        l+=w;
                  }
            }
      }
      vector<vector<int> >pre(n,vector<int>(n,0));
      for(int i=0;i<n;i++){
            for(int j=1;j<n;j++){
                  pre[i][j]=max(pre[i][j-1],rmq[i][j]);
            }
      }
      while(q--){
            int l,r;
            cin>>l>>r;l--,r--;
            int a=0;
            for(int i=l;i<=r;i++){
                  a=max(a,pre[i][r]);
            }
            cout<<a<<"\n";
      }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 3 ms 504 KB Output is correct
3 Correct 3 ms 504 KB Output is correct
4 Correct 3 ms 504 KB Output is correct
5 Correct 3 ms 504 KB Output is correct
6 Correct 3 ms 552 KB Output is correct
7 Correct 3 ms 504 KB Output is correct
8 Correct 3 ms 504 KB Output is correct
9 Correct 3 ms 504 KB Output is correct
10 Correct 3 ms 504 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 3 ms 504 KB Output is correct
3 Correct 3 ms 504 KB Output is correct
4 Correct 3 ms 504 KB Output is correct
5 Correct 3 ms 504 KB Output is correct
6 Correct 3 ms 552 KB Output is correct
7 Correct 3 ms 504 KB Output is correct
8 Correct 3 ms 504 KB Output is correct
9 Correct 3 ms 504 KB Output is correct
10 Correct 3 ms 504 KB Output is correct
11 Execution timed out 4033 ms 197360 KB Time limit exceeded
12 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 498 ms 524292 KB Execution killed with signal 9 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 3 ms 504 KB Output is correct
3 Correct 3 ms 504 KB Output is correct
4 Correct 3 ms 504 KB Output is correct
5 Correct 3 ms 504 KB Output is correct
6 Correct 3 ms 552 KB Output is correct
7 Correct 3 ms 504 KB Output is correct
8 Correct 3 ms 504 KB Output is correct
9 Correct 3 ms 504 KB Output is correct
10 Correct 3 ms 504 KB Output is correct
11 Execution timed out 4033 ms 197360 KB Time limit exceeded
12 Halted 0 ms 0 KB -