Submission #1197788

#TimeUsernameProblemLanguageResultExecution timeMemory
1197788aarb_.tomatexdBoat (APIO16_boat)C++20
9 / 100
1 ms328 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...