# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1131760 | Aviansh | Discharging (NOI20_discharging) | C++20 | 254 ms | 15912 KiB |
#include <bits/stdc++.h>
using namespace std;
long long inter(array<long long,2>l1, array<long long,2>l2){
return ((l1[1]-l2[1]))/((l2[0]-l1[0]));
}
signed main(){
// ios::sync_with_stdio(0);
//cin.tie(0);
int n;
cin >> n;
long long arr[n];
for(long long &i : arr){
cin >> i;
}
long long dp[n];
dp[0]=arr[0]*n;
deque<array<long long,2>>q;
q.push_back({n-1,dp[0]});
for(int i = 1;i<n;i++){
long long mx = arr[i];
dp[i]=2e18;
int lo = 1;
int hi = q.size()-1;
while(lo<hi){
int mid = (lo+hi)/2;
if(inter(q[mid],q[mid-1])>=arr[i]){
hi=mid;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |