이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
/*
check include bpds
*/
#include "ricehub.h"
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
using namespace __gnu_pbds;
using namespace std;
template <class T> using ot = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
#define ins insert
#define pb push_back
// #define int long long int
#define pii pair<int, int>
#define endl '\n'
#define drop(x) cout<<(x)<<endl; return;
#define all(x) x.begin(),x.end()
int besthub(int n, int mxL, int arr[], long long B){
int ans=0;
/*
her i ucun ele j tapaqki :
j<i
j ni goturmesek i+1 right terefden nese ekstra goture bilirik
*/
int cnt=0;
for(int i =1;i<n;i++){
arr[i]-=arr[0];
}
arr[0]=0;
multiset<pair<int,int>> right;
multiset<pair<int,int>> goturdum;
for(int i=0;i<n;i++){
right.ins({arr[i],i});
}
int currsum=0;
while(!right.empty()){
auto node = (*right.begin());
if(currsum+ node.first>B){
break;
}
currsum+=node.first;
goturdum.insert({node.second,node.first});
right.erase(right.begin());
}
// ans=goturdum.size();
// for(int i=1;i<n;i++){
// currsum+=(goturdum.size()) * (arr[i]-arr[i-1]);
// while(currsum)
// ans=max(ans,(int)goturdum.size());
// }
return ans;
}
컴파일 시 표준 에러 (stderr) 메시지
ricehub.cpp: In function 'int besthub(int, int, int*, long long int)':
ricehub.cpp:29:9: warning: unused variable 'cnt' [-Wunused-variable]
29 | int cnt=0;
| ^~~
# | 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... |