Submission #1111422

#TimeUsernameProblemLanguageResultExecution timeMemory
1111422Informatics271Trains (BOI24_trains)C++17
0 / 100
134 ms576 KiB
#include <iostream>
#include <algorithm>

using namespace std;

int N;
int D[10005];
int X[10005];

//int N=5; int D[10005]={1,2,1,0,3}; int X[10005]={3,1,3,10,5};
int dp[10005];

int mod=1000000007;

int main(){
	cin >> N;
	for (int i=0;i<N;i++) cin>>D[i]>>X[i];
	for (int i=N-1; i>=0; i--){
		dp[i]++;
		if (D[i]==0) continue;
		for (int j=i+D[i]; j<=i+D[i]*X[i]&&j<N; j+=D[i]) dp[i]=(dp[i]+dp[j])%mod;
		//cout << i << dp[i] << i+D[i]*X[i] << '\n';
	}
	cout << dp[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...