제출 #1147920

#제출 시각아이디문제언어결과실행 시간메모리
1147920fryingducPinball (JOI14_pinball)C++20
51 / 100
1093 ms1540 KiB
#include "bits/stdc++.h" using namespace std; #ifdef duc_debug #include "bits/debug.h" #else #define debug(...) #endif const int maxn = 1e5 + 5; int n, m, a[maxn], b[maxn], c[maxn], d[maxn]; pair<int, long long> fl[maxn], fr[maxn]; void solve() { cin >> n >> m; for (int i = 1; i <= n; ++i) { cin >> a[i] >> b[i] >> c[i] >> d[i]; } long long res = 1e18; for (int i = 1; i <= n; ++i) { fl[i] = make_pair(a[i], d[i]); fr[i] = make_pair(b[i], -d[i]); for (int j = 1; j < i; ++j) { if (a[i] <= c[j] and c[j] <= b[i]) { pair<int, long long> x = fl[j]; x.second += d[i]; fl[i] = min(fl[i], x); x = fr[j]; x.second -= d[i]; fr[i] = max(fr[i], x); } } if (fl[i].first == 1 and fr[i].first == m) { res = min(res, fl[i].second - fr[i].second - d[i]); } } debug(res); cout << (res == 1e18 ? -1 : res); } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...