Submission #1057381

#TimeUsernameProblemLanguageResultExecution timeMemory
1057381beaconmcMarathon Race 2 (JOI24_ho_t3)C++14
62 / 100
1517 ms63572 KiB
#include <bits/stdc++.h> typedef long long ll; #define FOR(i,x,y) for(ll i=x; i<y; i++) #define FORNEG(i,x,y) for(ll i=x; i>y; i--) using namespace std; ll a,b,t, n, l; ll arr[2005]; ll cache[2005][2005][2]; ll dp(ll x, ll y, ll pos){ if (cache[x][y][pos] != -1) return cache[x][y][pos]; if (x==y){ return cache[x][y][pos]= (n+1) * abs(arr[x]-b); } if (pos == 0){ ll idk = dp(x,y-1,1) + abs(arr[x]-arr[y])*(n-(y-x)) + abs(arr[y]-arr[y-1])*(n-(y-x)+1); ll idk2 = dp(x+1,y,0) + abs(arr[x]-arr[x+1])*(n-(y-x)+1); return cache[x][y][pos]=min(idk, idk2); } else if (pos == 1){ ll idk = dp(x+1,y,0) + abs(arr[y]-arr[x])*(n-(y-x)) + abs(arr[x] - arr[x+1])*(n-(y-x)+1); ll idk2 = dp(x, y-1, 1) + abs(arr[y]-arr[y-1]) * (n-(y-x)+1); return cache[x][y][pos]=min(idk, idk2); } } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> n >> l; FOR(i,0,n) cin >> arr[i]; sort(arr, arr+n); ll q; cin >> q; FOR(i,0,q){ cin >> a >> b >> t; FOR(i,0,2005) FOR(j,0,2005) FOR(k,0,2) cache[i][j][k]=-1; ll ans = dp(0, n-1, 0) + abs(a-arr[0]); ans = min(ans, dp(0, n-1, 1) + abs(a-arr[n-1])); ans += n; if (ans <= t) cout << "Yes" << "\n"; else cout << "No" << "\n"; } }

Compilation message (stderr)

Main.cpp: In function 'll dp(ll, ll, ll)':
Main.cpp:36:1: warning: control reaches end of non-void function [-Wreturn-type]
   36 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...