Submission #895307

# Submission time Handle Problem Language Result Execution time Memory
895307 2023-12-29T18:28:40 Z alexander707070 Misspelling (JOI22_misspelling) C++14
28 / 100
4000 ms 171856 KB
#include<bits/stdc++.h>
#define MAXN 2007
using namespace std;

const int mod=1e9+7;

int n,m,a,b,ans;

int dp[MAXN][MAXN][30];
bool li[MAXN][MAXN][30];

int cnt[MAXN],pref[MAXN],cnt2[MAXN],pref2[MAXN];
int maxs[MAXN][MAXN],maxs2[MAXN][MAXN],es[MAXN],es2[MAXN];

bool open(int l,int r){
    return maxs[l][r]>=r;
}

bool open2(int l,int r){
    return maxs2[l][r]>=r;
}

int ff(int pos,int change,int last){
    if(pos==n+1)return 1;

    if(li[pos][change][last])return dp[pos][change][last];
    li[pos][change][last]=true;

    if(last!=26)dp[pos][change][last]=ff(pos+1,change,last);

    for(int i=0;i<26;i++){
        if(i==last)continue;
        if(i<last and open(change+1,pos))continue;
        if(i>last and open2(change+1,pos))continue;

        dp[pos][change][last]+=ff(pos+1,pos,i);   
        dp[pos][change][last]%=mod;     
    }

    return dp[pos][change][last];
}


int main(){

    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    cin>>n>>m;
    for(int i=1;i<=m;i++){
        cin>>a>>b;

        if(a<b){
            cnt[a+1]++;
            es[a+1]=max(es[a+1],b);

            pref[a+1]++; pref[b+1]--;
        }else{
            cnt2[b+1]++;
            es2[b+1]=max(es2[b+1],a);

            pref2[b+1]++; pref2[a+1]--;
        }
    }

    for(int i=1;i<=n;i++){
        for(int f=i;f<=n;f++){
            maxs[i][f]=max(maxs[i][f-1],es[f]);
            maxs2[i][f]=max(maxs2[i][f-1],es2[f]);
        }
    }

    cout<<ff(1,0,26)<<"\n";

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4440 KB Output is correct
2 Correct 1 ms 4440 KB Output is correct
3 Correct 1 ms 6492 KB Output is correct
4 Correct 1 ms 4444 KB Output is correct
5 Correct 1 ms 4444 KB Output is correct
6 Correct 1 ms 6492 KB Output is correct
7 Correct 1 ms 6488 KB Output is correct
8 Correct 1 ms 6488 KB Output is correct
9 Correct 1 ms 6492 KB Output is correct
10 Correct 1 ms 6492 KB Output is correct
11 Correct 1 ms 6612 KB Output is correct
12 Correct 1 ms 4440 KB Output is correct
13 Correct 1 ms 4444 KB Output is correct
14 Correct 1 ms 6492 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4440 KB Output is correct
2 Correct 1 ms 4440 KB Output is correct
3 Correct 1 ms 6492 KB Output is correct
4 Correct 1 ms 4444 KB Output is correct
5 Correct 1 ms 4444 KB Output is correct
6 Correct 1 ms 6492 KB Output is correct
7 Correct 1 ms 6488 KB Output is correct
8 Correct 1 ms 6488 KB Output is correct
9 Correct 1 ms 6492 KB Output is correct
10 Correct 1 ms 6492 KB Output is correct
11 Correct 1 ms 6612 KB Output is correct
12 Correct 1 ms 4440 KB Output is correct
13 Correct 1 ms 4444 KB Output is correct
14 Correct 1 ms 6492 KB Output is correct
15 Correct 66 ms 52556 KB Output is correct
16 Correct 28 ms 52608 KB Output is correct
17 Correct 8 ms 52316 KB Output is correct
18 Correct 8 ms 52060 KB Output is correct
19 Correct 17 ms 52572 KB Output is correct
20 Correct 14 ms 52572 KB Output is correct
21 Correct 7 ms 52060 KB Output is correct
22 Correct 8 ms 52300 KB Output is correct
23 Correct 89 ms 52636 KB Output is correct
24 Correct 8 ms 52060 KB Output is correct
25 Correct 22 ms 52680 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4444 KB Output is correct
2 Correct 1 ms 4444 KB Output is correct
3 Correct 1 ms 4468 KB Output is correct
4 Correct 1 ms 4444 KB Output is correct
5 Execution timed out 4045 ms 46516 KB Time limit exceeded
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4440 KB Output is correct
2 Correct 1 ms 4440 KB Output is correct
3 Correct 1 ms 6492 KB Output is correct
4 Correct 1 ms 4444 KB Output is correct
5 Correct 1 ms 4444 KB Output is correct
6 Correct 1 ms 6492 KB Output is correct
7 Correct 1 ms 6488 KB Output is correct
8 Correct 1 ms 6488 KB Output is correct
9 Correct 1 ms 6492 KB Output is correct
10 Correct 1 ms 6492 KB Output is correct
11 Correct 1 ms 6612 KB Output is correct
12 Correct 1 ms 4440 KB Output is correct
13 Correct 1 ms 4444 KB Output is correct
14 Correct 1 ms 6492 KB Output is correct
15 Correct 66 ms 52556 KB Output is correct
16 Correct 28 ms 52608 KB Output is correct
17 Correct 8 ms 52316 KB Output is correct
18 Correct 8 ms 52060 KB Output is correct
19 Correct 17 ms 52572 KB Output is correct
20 Correct 14 ms 52572 KB Output is correct
21 Correct 7 ms 52060 KB Output is correct
22 Correct 8 ms 52300 KB Output is correct
23 Correct 89 ms 52636 KB Output is correct
24 Correct 8 ms 52060 KB Output is correct
25 Correct 22 ms 52680 KB Output is correct
26 Incorrect 662 ms 171856 KB Output isn't correct
27 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 4440 KB Output is correct
2 Correct 1 ms 4440 KB Output is correct
3 Correct 1 ms 6492 KB Output is correct
4 Correct 1 ms 4444 KB Output is correct
5 Correct 1 ms 4444 KB Output is correct
6 Correct 1 ms 6492 KB Output is correct
7 Correct 1 ms 6488 KB Output is correct
8 Correct 1 ms 6488 KB Output is correct
9 Correct 1 ms 6492 KB Output is correct
10 Correct 1 ms 6492 KB Output is correct
11 Correct 1 ms 6612 KB Output is correct
12 Correct 1 ms 4440 KB Output is correct
13 Correct 1 ms 4444 KB Output is correct
14 Correct 1 ms 6492 KB Output is correct
15 Correct 66 ms 52556 KB Output is correct
16 Correct 28 ms 52608 KB Output is correct
17 Correct 8 ms 52316 KB Output is correct
18 Correct 8 ms 52060 KB Output is correct
19 Correct 17 ms 52572 KB Output is correct
20 Correct 14 ms 52572 KB Output is correct
21 Correct 7 ms 52060 KB Output is correct
22 Correct 8 ms 52300 KB Output is correct
23 Correct 89 ms 52636 KB Output is correct
24 Correct 8 ms 52060 KB Output is correct
25 Correct 22 ms 52680 KB Output is correct
26 Correct 1 ms 4444 KB Output is correct
27 Correct 1 ms 4444 KB Output is correct
28 Correct 1 ms 4468 KB Output is correct
29 Correct 1 ms 4444 KB Output is correct
30 Execution timed out 4045 ms 46516 KB Time limit exceeded
31 Halted 0 ms 0 KB -