Submission #741945

#TimeUsernameProblemLanguageResultExecution timeMemory
741945vjudge1Boat (APIO16_boat)C++17
9 / 100
549 ms2456 KiB
#include <algorithm> #include <iostream> #include <iomanip> #include <bitset> #include <cmath> #include <queue> #include <map> #include <set> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; #define ent "\n" const int maxn = 1e6 + 100; const ll INF = (1ll<<61); const int MOD = 1e9 + 7; const int inf = (1<<30); const int maxl = 20; const int P = 31; int n; int a[maxn]; int b[maxn]; int dp[550][1010]; void test(){ cin >> n; vector<int> v; for(int i = 1; i <= n; i++){ cin >> a[i] >> b[i]; v.push_back(a[i]); v.push_back(b[i] + 1); } v.push_back(1e9 + 1); sort(v.begin(), v.end()); v.resize(unique(v.begin(), v.end()) - v.begin()); int ans = 0; for(int i = 1; i <= n; i++){ for(int j = 0; j < v.size() - 1; j++){ dp[i][j] = 1; for(int k = 1; k < i; k++){ if(j) dp[i][j] = (dp[i][j] + dp[k][j-1]) % MOD; } dp[i][j] = (1ll * dp[i][j] * (v[j + 1] - v[j])) % MOD; if(v[j] < a[i] || v[j+1] - 1 > b[i]) dp[i][j] = 0; ans = (ans + dp[i][j]) % MOD; if(j) dp[i][j] += dp[i][j-1]; } } cout << ans << ent; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0), cout.tie(0); int t; t = 1; while(t--) test(); }

Compilation message (stderr)

boat.cpp: In function 'void test()':
boat.cpp:41:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |         for(int j = 0; j < v.size() - 1; j++){
      |                        ~~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...