제출 #990618

#제출 시각아이디문제언어결과실행 시간메모리
990618User0069팀들 (IOI15_teams)C++17
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #include"teams.h" #define taskname "" #define el '\n' #define fi first #define sc second #define pii pair<int, int> #define all(v) v.begin(), v.end() #define int ll using namespace std; using ll=long long; using ull=unsigned long long; using ld=long double; #define Faster ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); using namespace std; const int maxn=5e5+3; const int mod=1e9+7; const int INF=1e9+7; int N; struct node { node *l,*r; int val; node():l(NULL),r(NULL),val(0){}; }; node* root[maxn]; vector<int> v[maxn]; node* cons(node* kk,int cl,int cr) { kk=new node(); if(cl==cr) { return kk; } int mid=(cl+cr)/2; kk->l=cons(kk->l,cl,mid); kk->r=cons(kk->r,mid+1,cr); return kk; } node* update(node* kk,int cl,int cr,int pos,int val) { node* kkk=new node(); kkk->l=kk->l; kkk->r=kk->r; kkk->val=kk->val; if(cl==cr) { kkk->val+=val; return kkk; } int mid=(cl+cr)/2; if(pos<=mid) kkk->l=update(kk->l,cl,mid,pos,val); else kkk->r=update(kk->r,mid+1,cr,pos,val); kkk->val=kkk->l->val+kkk->r->val; return kkk; } int get(node* kk,int cl,int cr,int l,int r ) { if(cl>r||cr<l) return 0; if(cl>=l&&cr<=r) return kk->val; int mid=(cl+cr)/2; return get(kk->l,cl,mid,l,r)+get(kk->r,mid+1,cr,l,r); } int cnt(int a,int b,int c,int d) { return get(root[b],0,N,c,d)-get(root[a-1],0,N,c,d); } void init(int32_t n,int32_t* a,int32_t* b) { N=n; root[0]=cons(root[0],0,n); for(int i=0;i<n;i++) { v[b[i]].push_back(a[i]); } for(int i=1;i<=n;i++) { root[i]=root[i-1]; for(int x:v[i]) { root[i]=update(root[i],0,n,x,1); } } root[n+1]=root[n]; } int32_t can(int32_t m,int32_t* k) { int sum=0; int need=0; int borrow=0,prev,late; sort(k,k+m); for(int i=0;i<m;i++) { if(i==0) prev=0; else prev=k[i-1]; if(i==m-1) late=N+1; else late=k[i+1]; int lmao=cnt(k[i],late-1,prev+1,k[i]); sum+=cnt(k[i],N,prev+1,k[i]); sum-=max(lmao,k[i]); if(sum<0) return 0; } return 1; } //signed main() //{ // if (fopen(taskname".INP","r")) // { // freopen(taskname".INP","r",stdin); // freopen(taskname".OUT","w",stdout); // } // Faster //}

컴파일 시 표준 에러 (stderr) 메시지

teams.cpp: In function 'int32_t can(int32_t, int32_t*)':
teams.cpp:100:27: error: no matching function for call to 'max(ll&, int32_t&)'
  100 |         sum-=max(lmao,k[i]);
      |                           ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from teams.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
teams.cpp:100:27: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int32_t' {aka 'int'})
  100 |         sum-=max(lmao,k[i]);
      |                           ^
In file included from /usr/include/c++/10/bits/specfun.h:45,
                 from /usr/include/c++/10/cmath:1927,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:41,
                 from teams.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
teams.cpp:100:27: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int32_t' {aka 'int'})
  100 |         sum-=max(lmao,k[i]);
      |                           ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from teams.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
teams.cpp:100:27: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
  100 |         sum-=max(lmao,k[i]);
      |                           ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from teams.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
teams.cpp:100:27: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
  100 |         sum-=max(lmao,k[i]);
      |                           ^
teams.cpp:89:9: warning: unused variable 'need' [-Wunused-variable]
   89 |     int need=0;
      |         ^~~~
teams.cpp:90:9: warning: unused variable 'borrow' [-Wunused-variable]
   90 |     int borrow=0,prev,late;
      |         ^~~~~~