5
0
Hãy luôn nhớ cảm ơn và vote 5*
nếu câu trả lời hữu ích nhé!
8256
4791
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
vector<pair<int, int>> a;
for (int i = 0; i < n; i++) {
int x, y;
cin >> x >> y;
a.push_back(make_pair(x, y));
}
sort(a.begin(),a.end(),[](const pair<int,int>& e1, const pair<int,int>& e2){
if (e1.second == e2.second) return e1.first > e2.first;
return e1.second > e2.second;
});
if (a[0].second == 0) cout << a[0].second << endl;
else {
int b = a[0].second;
int res = a[0].first;
for (int i = 1; i < n; i++) {
if (b > 0) {
res += a[i].first;
b = b - 1 + a[i].second;
} else {
break;
}
}
cout << res << endl;
}
return 0;
}
$\\$
`\bb\color{#3a34eb}{\text{@hoanganhnguyen09302}}`
Hãy giúp mọi người biết câu trả lời này thế nào?
CODE :
#include<bits/stdc++.h>
using namespace std;
vector<pair<int,int>>c;
int main(){
long long i,b,a,n,t,s1,s2;
cin>>n;
for(i=0;i<n;i++){
cin>>a>>b;
c.push_back({b,a});
}
sort(c.begin(),c.end());
s2=c[n-1].first;
s1=c[n-1].second;
for(i=n-2;i>=0;i--){
if(s2==0)
break;
else{
s2=s2-1+c[i].first;
s1=s1+c[i].second;
}
}
cout<<s1;
return 0;
}
Hãy giúp mọi người biết câu trả lời này thế nào?
Bảng tin
5
483
0
dạ em cảm ơn nma không đúng ạ :(( https://ntucoder.net/Problem/Details/2252 link bài đây ạa
8256
78106
4791
bản C++ dùng trên trang đấy cũ rồi
878
16199
459
Uses Crt; Var n,i,j,k:longint; s,t:int64; a,b:array[1..1000000] of longint; Procedure H(var a,b:longint); var tg:longint; begin tg:=a; a:=b; b:=tg; end; Procedure Sort(l,r:longint); var i,j,x:longint; begin i:=l; j:=r; x:=b[(l+r) div 2]; repeat while b[i]>x do inc(i); while b[j]<x do dec(j); if i<=j then begin H(a[i],a[j]); H(b[i],b[j]); inc(i); dec(j); end; until i>j; if l<j then sort(l,j); if i<r then sort(i,r); end; Begin readln(n); for i:=1 to n do begin read(a[i],b[i]); end; sort(1,n); for i:=1 to n do if b[i]=0 then break; for j:=i to n-1 do for k:=j+1 to n do if a[j]<a[k] then H(a[j],a[k]); t:=1; s:=0; for i:=1 to n do if (t>0) then begin s:=s+a[i]; t:=t-1+b[i]; (*b[i] co the bang 0*) end; writeln(s); readln; End. Rút gọnUses Crt; Var n,i,j,k:longint; s,t:int64; a,b:array[1..1000000] of longint; Procedure H(var a,b:longint); var tg:longint; begin tg:=a; a:=b; b:=tg; end; Procedure Sort(l,r:longint); var i,j,x:longint; begin ... xem thêm
878
16199
459
Muốn làm mà ko bt C++
5
483
0
dạ vâng dẫu gì em cũng cảm ơn ạ