Submission #1102275

#TimeUsernameProblemLanguageResultExecution timeMemory
1102275ro9669Nile (IOI24_nile)C++17
0 / 100
21 ms2660 KiB
#include <bits/stdc++.h> #define fi first #define se second #define all(v) v.begin() , v.end() #define sz(v) int(v.size()) #define unq(v) sort(all(v)); v.resize(unique(all(v)) - v.begin()); #include "nile.h" using namespace std; typedef long long ll; typedef pair<int , int> ii; typedef pair<long long , int> lli; const int maxN = int(2e5)+7; int n , q; vector<int> w , a , b , e , id; namespace sub1{ bool check(){ return n <= 2000; } vector<ll> res; ll dp[2007]; vector<ll> calc(){ sort(all(id) , [](int x , int y){ return w[x] < w[y]; }); for (int d : e){ dp[0] = 0; for (int i = 0 ; i < n ; i++){ ll s = 0; int x = INT_MAX; dp[i + 1] = ll(1e18); for (int j = i ; j >= 0 ; j--){ s += b[id[j]]; x = min(x , a[id[j]] - b[id[j]]); if (w[id[i]] - w[id[j]] <= d){ if ((i - j)&1){ dp[i + 1] = min(dp[i + 1] , dp[j] + s); } else{ dp[i + 1] = min(dp[i + 1] , dp[j] + s + 1ll * x); } } else{ break; } } } res.push_back(dp[n]); } return res; } } vector<long long> calculate_costs(vector<int> W , vector<int> A , vector<int> B , vector<int> E){ if (sub1::check()) return sub1::calc(); }

Compilation message (stderr)

nile.cpp: In function 'std::vector<long long int> calculate_costs(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
nile.cpp:61:1: warning: control reaches end of non-void function [-Wreturn-type]
   61 | }
      | ^
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...