Simply order sorted upon d[i]=b[i]+c[i] would provide an AC verdict .Here is code for reference.
#include<bits/stdc++.h>using namespace std;#define ll long longbool cmp(const pair<int,int> &a,const pair<int,int> &b){if (a.second==b.second) return a.first>b.first;return a.second>b.second;}ll solve(vector<pair<int,int> > a){sort(a.begin(),a.end(),cmp);vector<int> cob(a.size());int res=0;cob[0]=a[0].first;for (int i=1;i<a.size();i++) cob[i]=cob[i-1]+a[i].first;for (int j=0;j<a.size();j++) res=max(res,cob[j]+a[j].second);return res;}int main(int argc,char** argv){ll n;cin>>n;vector<pair<int,int> > a;
Read more… (15 words)