# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
792838 | 2023-07-25T09:38:55 Z | IvanJ | Boat (APIO16_boat) | C++17 | 12 ms | 16268 KB |
#include<bits/stdc++.h> #define pb push_back #define x first #define y second #define all(a) (a).begin(), (a).end() using namespace std; typedef long long ll; typedef pair<int, int> ii; const int maxn = 505; const int MOD = 1e9 + 7; int add(int x, int y) {x += y;if(x >= MOD) x -= MOD;return x;} int sub(int x, int y) {x -= y;if(x < 0) x += MOD;return x;} int n; int a[maxn], b[maxn]; int main() { scanf("%d", &n); for(int i = 0;i < n;i++) scanf("%d%d", a + i, b + i); vector<int> dp(1e6 + 1, 0), pref(1e6 + 1, 0); int maxi = 0; for(int i = 0;i < n;i++) { maxi = max(maxi, b[i]); for(int j = a[i];j <= b[i];j++) { if(i == 0) dp[j] = 1; dp[j] = add(dp[j], pref[j - 1]); } if(i == 0) dp[0] = 1; //for(int j = 0;j <= maxi;j++) cout << dp[j] << " "; //cout << "\n"; pref[0] = dp[0]; for(int j = 1;j <= maxi;j++) pref[j] = add(pref[j - 1], dp[j]); } printf("%d\n", sub(pref[maxi], (n > 1))); return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 10 ms | 16268 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 10 ms | 16268 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 12 ms | 16244 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 10 ms | 16268 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |