Submission #1033564

#TimeUsernameProblemLanguageResultExecution timeMemory
1033564vjudge1Trains (BOI24_trains)C++17
21 / 100
2081 ms1884 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int mod=1e9+7;
const int N=1e5;
int n,a[N+5],d[N+5],cnt[N+5],i,j;
ll dp[N+5],ans;

void Sol(){
	cin>>n;
	for(i=1;i<=n;i++) cin>>d[i]>>a[i];
	dp[1]=1;
	for(i=1;i<n;i++)
	{
		ans+=dp[i];
		ans%=mod;
		if(!d[i]) continue;
		for(j=1;j<=a[i];j++)
		{
			if(i+d[i]*j>n) break;
			dp[i+d[i]*j]+=dp[i];
			dp[i+d[i]*j]%=mod;
		}
	}
	ans+=dp[n];
	ans%=mod;
	cout<<ans<<'\n';
}

signed main(){
	ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0); 
    Sol();
    // cerr<<"\nTime elapsed: "<<1000.0*clock()/CLOCKS_PER_SEC<<" ms.\n";
    return 0;
}
/*Dattebayo*/
#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...