Submission #261247

#TimeUsernameProblemLanguageResultExecution timeMemory
261247SaboonTreatment Project (JOI20_treatment)C++14
5 / 100
3060 ms6136 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll maxn = 2e5 + 10; ll T[maxn], L[maxn], R[maxn], C[maxn], p[maxn], dp[maxn]; int main(){ ios_base::sync_with_stdio(false); ll n, m; cin >> n >> m; for (ll i = 1; i <= m; i++) cin >> T[i] >> L[i] >> R[i] >> C[i]; for (ll i = 1; i <= m; i++) p[i] = i; memset(dp, -1, sizeof dp); for (ll _ = 0; _ < m; _++){ for (ll iit = 1; iit <= m; iit++){ ll i = p[iit]; if (L[i] == 1) dp[i] = C[i]; for (ll jit = 1; jit <= m; jit++){ ll j = p[jit]; if (abs(T[i]-T[j]) <= R[j]-L[i]+1 and dp[j] != -1) if (dp[i] == -1 or dp[i] > dp[j] + C[i]) dp[i] = dp[j] + C[i]; } } } ll answer = -1; for (ll i = 1; i <= m; i++) if (R[i] == n and dp[i] != -1 and (answer == -1 or answer > dp[i])) answer = dp[i]; cout << answer << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...