Submission #965445

#TimeUsernameProblemLanguageResultExecution timeMemory
965445kimBoat (APIO16_boat)C++17
9 / 100
4 ms2396 KiB
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
#define eb emplace_back

const int md=1e9+7;

int a[505];
ll dp[505][505];
vector<int> comp;

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

    int n; cin>>n;
    for(int i=1;i<=n;++i) cin>>a[i]>>a[i], comp.eb(a[i]);
    sort(comp.begin(),comp.end());
    comp.erase(unique(comp.begin(),comp.end()),comp.end());

    int m=comp.size();
    for(int i=0;i<=m;++i) dp[0][i]=1;
    for(int i=1;i<=n;++i){
        int id=lower_bound(comp.begin(),comp.end(),a[i])-comp.begin()+1;

        dp[i][0]=1;
        dp[i][id]=dp[i-1][id-1];
        for(int j=1;j<=m;++j) dp[i][j]=((dp[i][j]+dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1])%md+md)%md;

    }
    cout<<(dp[n][m]+md-1)%md;

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...