제출 #1104934

#제출 시각아이디문제언어결과실행 시간메모리
1104934alexddTrains (BOI24_trains)C++17
8 / 100
2132 ms621052 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MOD = 1e9+7;
int n;
set<int> tole[100005];
int dp[100005];
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin>>n;
    int d,x;
    for(int i=1;i<=n;i++)
    {
        cin>>d>>x;
        if(d==0)
            continue;
        for(int j=1;j<=x;j++)
        {
            if(i+j*d>n)
                break;
            tole[i+j*d].insert(i);
        }
    }
    dp[1]=1;
    int rez=1;
    for(int i=2;i<=n;i++)
    {
        for(int j:tole[i])
        {
            dp[i] = (dp[i] + dp[j])%MOD;
        }
        rez = (rez + dp[i])%MOD;
    }
    cout<<rez;
    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...