Submission #30795

#TimeUsernameProblemLanguageResultExecution timeMemory
30795cdemirerBoat (APIO16_boat)C++14
9 / 100
2000 ms9840 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<ll, ll> llp; typedef pair<int, int> ii; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<ii> vii; typedef vector<vii> vvii; #define pb(x) push_back(x) #define mp(x, y) make_pair(x, y) #define MOD ((ll)1e9+7) #define safeadd(x, y) ( ( ((ll)x % MOD) + ((ll)y % MOD) ) % MOD ) int N; map<int, ll> dp[500]; int A[500], B[500]; ll func(int x, int s) { //cerr << "called: " << x << " " << s << endl; if (dp[x][s] != 0) return dp[x][s]; ll sum = 0; if (x < N-1) sum = safeadd(sum, func(x+1, s)); else sum = safeadd(sum, 1); for (int i = max(s+1, A[x]); i <= B[x]; i++) { if (x < N-1) sum = safeadd(sum, func(x+1, i)); else sum = safeadd(sum, 1); } dp[x][s] = sum; //cerr << "returned: " << sum << endl; return dp[x][s]; } int main(int argc, char **argv) { //freopen("input", "r", stdin); //freopen("output", "w", stdout); scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d%d", &(A[i]), &(B[i])); } printf("%lld\n", safeadd(func(0, 0), -1)); return 0; }

Compilation message (stderr)

boat.cpp: In function 'int main(int, char**)':
boat.cpp:39:17: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &N);
                 ^
boat.cpp:41:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d", &(A[i]), &(B[i]));
                                  ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...