#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9+7;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int n; // N ≤ 500, a_i = b_i :contentReference[oaicite:0]{index=0}
if(!(cin>>n)) return 0;
vector<long long> c(n), dp(n); // c[i] = número fijo de barcos de la escuela i
for (int i = 0; i < n; ++i) {
long long a, b;
cin >> a >> b; // en la subtarea 1 se tiene a == b
c[i] = a; // basta guardar uno de los dos
}
long long ans = 0;
for(int i=0;i<n;i++){
dp[i] = 1; // subsecuencia de longitud 1 (solo esta escuela)
for(int j=0;j<i;j++)
if(c[j] < c[i]) dp[i] = (dp[i] + dp[j]) % MOD;
ans = (ans + dp[i]) % MOD; // sumamos todas las subsecuencias que terminan en i
}
cout << ans << '\n'; // al menos una escuela envía barcos
}
# | 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... |