Submission #1132603

#TimeUsernameProblemLanguageResultExecution timeMemory
1132603ValiAntonieTrains (BOI24_trains)C++20
21 / 100
2095 ms1352 KiB
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <iostream>
#define mod 1000000007
using namespace std;

int n,x[200005],d[200005],sum[200005];


int main()
{
cin>>n;
for (int i = 1; i <= n; i++){
    cin>>d[i]>>x[i];
}
sum[1] = 1;
for (int i = 1; i<=n;i++){
while (d[i] == 0 && i <= n){
    i++;
}
if (i > n)
    break;
int p = i + d[i];
while (x[i]){
    if (p <= n){
        sum[p] += sum[i] % mod;
        sum[p] = sum[p] % mod;
    }
    else
        break;
    if (p + d[i] <= n)
        p += d[i] % mod;
    else
        break;
    x[i]--;
}
}
int suma = 0;
for (int i = 1; i <=n; i++){
    suma += sum[i] % mod;
    suma = suma % mod;
}
cout << suma;

    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...
#Verdict Execution timeMemoryGrader output
Fetching results...