Submission #1052868

#TimeUsernameProblemLanguageResultExecution timeMemory
1052868vjudge1Trains (BOI24_trains)C++17
21 / 100
169 ms2652 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
int const N=1e5+5;
int const mod=1e9+7;

int dp[N],pre[N],d[N],x[N];
int n;
void solve12(){
	dp[n]=1;
	for(int i=n-1;i>=1;i--){
		dp[i]=1;
		if(d[i]==0)
			continue;
		for(int j=i+d[i];j<=min(i+(d[i]*x[i]),n);j+=d[i])
			dp[i]=(dp[i]+dp[j])%mod;
	}
	cout<<dp[1]<<endl;
}

signed main(){
	cin>>n;
	bool b=1;
	for (int i = 1; i <=n; ++i){
		cin>>d[i]>>x[i];
		if(d[i]!=1)
			b=0;
	}
	if(n<=10000)
		solve12();
	// else if(b)
	// 	solve3();
	// else
	// 	solve4();
	return 0;
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:24:7: warning: variable 'b' set but not used [-Wunused-but-set-variable]
   24 |  bool b=1;
      |       ^
#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...