QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#200076 | #7523. Partially Free Meal | OccDreamer | Compile Error | / | / | C++14 | 2.8kb | 2023-10-04 15:18:01 | 2023-10-04 15:18:02 |
Judging History
answer
//code by Emissary
#include<bits/stdc++.h>
#define fi first
#define se second
#define vc vector
#define db double
#define ll long long
#define mk make_pair
#define pb push_back
#define PI pair<int,int>
#define ull unsigned long long
#define err cerr << " -_- " << endl
#define debug cerr << " ------------------- " << endl
#define input(x) freopen(#x".in","r",stdin)
#define output(x) freopen(#x".out","w",stdout)
#define NO puts("No")
#define YES puts("Yes")
#define int long long
using namespace std;
namespace IO{
inline int read(){
int X=0, W=0; char ch=getchar();
while(!isdigit(ch)) W|=ch=='-', ch=getchar();
while(isdigit(ch)) X=(X<<1)+(X<<3)+(ch^48), ch=getchar();
return W?-X:X;
}
inline void write(ll x){
if(x<0) x=-x, putchar('-');
if(x>9) write(x/10);
putchar(x%10+'0');
}
inline void sprint(ll x){write(x), putchar(32);}
inline void eprint(ll x){write(x), putchar(10);}
}using namespace IO;
const int inf = 2e9;
const int MAXN = 2e5+5;
ll res[MAXN], ans, sum[MAXN*40];
int tot;
int n, le[MAXN], ri[MAXN];
int root[MAXN], lc[MAXN*40], rc[MAXN*40], tree[MAXN*40];
bool mark[MAXN];
struct IT{
int x, y;
inline bool friend operator < (const IT &x, const IT &y){
return x.y==y.y?x.x<y.x:x.y<y.y;
}
}a[MAXN];
inline void build(int &now, int pre, int l, int r, int pos){
now=++tot; lc[now]=lc[pre]; rc[now]=rc[pre];
tree[now]=tree[pre]+1; sum[now]=sum[pre]+pos;
if(l==r) return ;
int mid=(l+r)>>1;
if(pos<=mid) build(lc[now],lc[pre],l,mid,pos);
else build(rc[now],rc[pre],mid+1,r,pos);
return ;
}
int rk;
inline void ask(int now, int l, int r){
if(tree[now]<=rk){
rk-=tree[now];
ans+=sum[now];
return ;
}
if(l==r){
if(rk>=tree[now]) rk-=tree[now], ans+=1ll*tree[now]*l;
else ans+=1ll*rk*l, rk=0;
return ;
}
if(rk==0) return ;
int mid=(l+r)>>1;
ask(lc[now],l,mid); ask(rc[now],mid+1,r);
return ;
}
inline int Qsum(int now, int l, int r, int L, int R){
if(L<=l && r<=R) return tree[now];
int mid=(l+r)>>1, res=0;
if(L<=mid) res+=Qsum(lc[now],l,mid,L,R);
if(R>mid) res+=Qsum(rc[now],mid+1,r,L,R);
return res;
}
signed main(){
n=read(); set<int> S;
for(int i=1;i<=n;++i) res[i]=1e18;
for(int i=1;i<=n;++i) S.insert(i), a[i].x=read(), a[i].y=read();
sort(a+1,a+1+n); ll g;
for(int i=1;i<=n;++i) g=min(a[i].x+a[i].y,g), build(root[i],root[i-1],1,inf,a[i].x);
for(int i=1;i<=n;++i){
int u=Qsum(root[i],1,inf,1,a[i].x+a[i].y-a[i-1].y);
ri[i]=i; le[i]=u;
for(int j=u;j<=min(10,i);++j){
rk=j; ans=0; ask(root[i],1,inf); res[j]=min(res[j],ans+a[i].y);
}
}
for(int i=1;i<=n;++i) eprint(res[i]);
return 0;
}
Details
answer.code: In function ‘int main()’: answer.code:106:35: error: no matching function for call to ‘min(int, long long int&)’ 106 | for(int j=u;j<=min(10,i);++j){ | ~~~^~~~~~ In file included from /usr/include/c++/11/bits/char_traits.h:39, from /usr/include/c++/11/ios:40, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from answer.code:2: /usr/include/c++/11/bits/stl_algobase.h:230:5: note: candidate: ‘template<class _Tp> constexpr const _Tp& std::min(const _Tp&, const _Tp&)’ 230 | min(const _Tp& __a, const _Tp& __b) | ^~~ /usr/include/c++/11/bits/stl_algobase.h:230:5: note: template argument deduction/substitution failed: answer.code:106:35: note: deduced conflicting types for parameter ‘const _Tp’ (‘int’ and ‘long long int’) 106 | for(int j=u;j<=min(10,i);++j){ | ~~~^~~~~~ In file included from /usr/include/c++/11/bits/char_traits.h:39, from /usr/include/c++/11/ios:40, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from answer.code:2: /usr/include/c++/11/bits/stl_algobase.h:278:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr const _Tp& std::min(const _Tp&, const _Tp&, _Compare)’ 278 | min(const _Tp& __a, const _Tp& __b, _Compare __comp) | ^~~ /usr/include/c++/11/bits/stl_algobase.h:278:5: note: template argument deduction/substitution failed: answer.code:106:35: note: deduced conflicting types for parameter ‘const _Tp’ (‘int’ and ‘long long int’) 106 | for(int j=u;j<=min(10,i);++j){ | ~~~^~~~~~ In file included from /usr/include/c++/11/algorithm:62, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from answer.code:2: /usr/include/c++/11/bits/stl_algo.h:3449:5: note: candidate: ‘template<class _Tp> constexpr _Tp std::min(std::initializer_list<_Tp>)’ 3449 | min(initializer_list<_Tp> __l) | ^~~ /usr/include/c++/11/bits/stl_algo.h:3449:5: note: template argument deduction/substitution failed: answer.code:106:35: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘int’ 106 | for(int j=u;j<=min(10,i);++j){ | ~~~^~~~~~ In file included from /usr/include/c++/11/algorithm:62, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from answer.code:2: /usr/include/c++/11/bits/stl_algo.h:3455:5: note: candidate: ‘template<class _Tp, class _Compare> constexpr _Tp std::min(std::initializer_list<_Tp>, _Compare)’ 3455 | min(initializer_list<_Tp> __l, _Compare __comp) | ^~~ /usr/include/c++/11/bits/stl_algo.h:3455:5: note: template argument deduction/substitution failed: answer.code:106:35: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘int’ 106 | for(int j=u;j<=min(10,i);++j){ | ~~~^~~~~~