# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
126413 | shafinalam | Boat (APIO16_boat) | C++14 | 468 ms | 524292 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int mxn = 1e6+5;
const int mod = 1e9+7;
typedef long long ll;
typedef pair<int,int>pii;
#define ff first
#define ss second
pii arr[mxn];
int dp[505][mxn];
int n;
int solve(int pos, int last)
{
if(pos>=n) return 0;
if(dp[pos][last]!=-1) return dp[pos][last];
int ret = 0;
for(int i = pos+1; i <= n; i++)
{
int x = arr[i].ss;
int st = max(last+1, arr[i].ff);
for(int r = st; r <= x; r++) ret = (ret+solve(i, r)+1%mod)%mod;
}
return dp[pos][last] = ret%mod;
}
int main()
{
scanf("%d", &n);
for(int i = 1; i <= n; i++)
{
int a, b;
scanf("%d%d", &a, &b);
arr[i] = make_pair(a, b);
}
memset(dp, -1, sizeof dp);
int ans = solve(0, 0)%mod;
printf("%d\n", ans);
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |