Submission #1164849


Source Code Expand

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cassert>
#include<cstring>
#include<climits>
#include<sstream>
#include<deque>
#include<vector>
#include<algorithm>
#include<set>
#include<map>
#include<bitset>

#define REP(i,s,n) for(int i=s;i<n;++i)
#define rep(i,n) REP(i,0,n)

using namespace std;

typedef long long ll;

#define MAX 2010

ll mod = 1000000007;

int N,A[MAX], pre[MAX],nex[MAX];
long long dp[MAX][2100];

void compute() {
  nex[0] = A[0], nex[N-1] = A[N-1];
  pre[0] = A[0], pre[N-1] = A[N-1];
  for(int i=N-2;i>=1;--i) {
    if( A[i] == -1 ) nex[i] = nex[i+1];
    else             nex[i] = A[i];
  }
  REP(i,1,N-1) {
    if( A[i] != -1 ) pre[i] = A[i];
    else             pre[i] = pre[i-1];
  }

  dp[0][A[0]] = 1;
  REP(i,1,N) {
    REP(j,1,nex[i]+1) {
      dp[i][j] = ( dp[i][j-1] + dp[i-1][j] ) % mod;
    }
    rep(j,pre[i]) dp[i][j] = 0;
  }
  cout << dp[N-1][A[N-1]] << endl;
}

int main() {
  cin >> N;
  rep(i,N) cin >> A[i];
  compute();
  return 0;
}

Submission Info

Submission Time
Task C - タコヤ木
User TeamCraftworks
Language C++14 (GCC 5.4.1)
Score 80
Code Size 1055 Byte
Status RE
Exec Time 995 ms
Memory 33280 KB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 50 / 50 30 / 30 0 / 20
Status
AC × 2
RE × 1
AC × 14
AC × 26
AC × 26
RE × 13
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt
Subtask2 sample_01.txt, sample_02.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt
Subtask3 sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt, subtask2_12.txt, subtask3_01.txt, subtask3_02.txt, subtask3_03.txt, subtask3_04.txt, subtask3_05.txt, subtask3_06.txt, subtask3_07.txt, subtask3_08.txt, subtask3_09.txt, subtask3_10.txt, subtask3_11.txt, subtask3_12.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt RE 167 ms 33280 KB
subtask1_01.txt AC 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt AC 1 ms 256 KB
subtask1_04.txt AC 1 ms 640 KB
subtask1_05.txt AC 1 ms 640 KB
subtask1_06.txt AC 1 ms 640 KB
subtask1_07.txt AC 2 ms 768 KB
subtask1_08.txt AC 1 ms 640 KB
subtask1_09.txt AC 1 ms 768 KB
subtask1_10.txt AC 1 ms 640 KB
subtask1_11.txt AC 2 ms 640 KB
subtask1_12.txt AC 1 ms 640 KB
subtask2_01.txt AC 1 ms 256 KB
subtask2_02.txt AC 1 ms 256 KB
subtask2_03.txt AC 1 ms 384 KB
subtask2_04.txt AC 5 ms 8960 KB
subtask2_05.txt AC 9 ms 23296 KB
subtask2_06.txt AC 8 ms 9088 KB
subtask2_07.txt AC 70 ms 33024 KB
subtask2_08.txt AC 38 ms 31616 KB
subtask2_09.txt AC 49 ms 32896 KB
subtask2_10.txt AC 37 ms 31616 KB
subtask2_11.txt AC 38 ms 31616 KB
subtask2_12.txt AC 38 ms 31616 KB
subtask3_01.txt RE 97 ms 256 KB
subtask3_02.txt RE 97 ms 256 KB
subtask3_03.txt RE 97 ms 256 KB
subtask3_04.txt RE 575 ms 33280 KB
subtask3_05.txt RE 180 ms 33280 KB
subtask3_06.txt RE 995 ms 33280 KB
subtask3_07.txt RE 168 ms 33280 KB
subtask3_08.txt RE 229 ms 33280 KB
subtask3_09.txt RE 97 ms 256 KB
subtask3_10.txt RE 351 ms 33280 KB
subtask3_11.txt RE 164 ms 33280 KB
subtask3_12.txt RE 303 ms 33280 KB