Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdio>
- #include <cstring>
- // DMOPC '19 Contest 2 P4 - A Greedy Problem
- #define MOD 1000000007
- using namespace std;
- int dp[2005];
- int t[2005];
- int main() {
- int N,T,Q,i,j,k,a,b,q,ans;
- scanf("%d%d%d",&N,&T,&Q);
- for (i = 1;i <= N;i++)
- scanf("%d",&t[i]);
- for (i = 0;i < Q;i++) {
- scanf("%d%d%d",&a,&b,&q);
- q -= t[a];
- q -= t[b];
- memset(dp,0,sizeof(dp));
- dp[0] = 1;
- for (j = 1;j <= N;j++) {
- if (j != a && j != b) {
- for (k = q;k >= t[j];k--) {
- dp[k] += dp[k - t[j]];
- dp[k] %= MOD;
- }
- }
- }
- ans = 0;
- for (k = 0;k <= q;k++) {
- ans += dp[k];
- ans %= MOD;
- }
- printf("%d\n",ans);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement