# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1167309 | Almonther | Divide and conquer (IZhO14_divide) | C++20 | 0 ms | 328 KiB |
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define co cout<<
// stuff
struct smth{
ll last,ans,extra;
};
void solve(){
ll n;
cin>>n;
smth ans[n+5];
ll cords[n+5];
ll mx=0;
for(int i=0;i<n;i++){
cin>>cords[i]>>ans[i].ans>>ans[i].extra;
ans[i].last=i;
while(ans[i].last!=0){
if(cords[ans[i].last]-cords[ans[i].last-1]<=ans[i].extra+ans[ans[i].last-1].extra){
ans[i].extra-=cords[ans[i].last]-cords[ans[i].last-1];
ans[i].ans+=ans[ans[i].last-1].ans;
ans[i].extra+=ans[ans[i].last-1].extra;
ans[i].last=ans[ans[i].last-1].last;
}
else break;
}
mx=max(mx,ans[i].ans);
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |