제출 #721360

#제출 시각아이디문제언어결과실행 시간메모리
721360sofija6Arranging Shoes (IOI19_shoes)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; ll n; struct bit { vector<ll> v; void Init() { v.resize(n+5); } void Add(ll pos,ll val) { for (ll i=pos;i<=n;i+=i&(-i)) v[i]+=val; } ll Sum(ll pos) { ll ans=0; for (ll i=pos;i>0;i-=i&(-i)) ans+=v[i]; return ans; } ll Calc(ll l,ll r) { return Sum(r)-Sum(l-1); } }; ll count_swaps(vector<int> S) { n=sizeof(S); bit B; B.Init(); map<ll,priority_queue<ll> > posl,posr; ll ans=0; for (ll i=0;i<n;i++) { if (S[i]>0) { if (posl[S[i]].empty()) { B.Add(i+1,1); posr[S[i]].push(i+1); continue; } ll t=posl[S[i]].top(); posl[S[i]].pop(); ans+=B.Calc(t+1,i+1); B.Add(t,-1); B.Add(i+1,2); continue; } if (posr[-S[i]].empty()) { B.Add(i+1,1); posl[-S[i]].push(i+1); continue; } ll t=posr[-S[i]].top(); posr[-S[i]].pop(); ans+=B.Calc(t,i+1); B.Add(t,-1); B.Add(i+1,2); } return ans; } int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); ll n,S[110]; cin >> n; for (ll i=0;i<n;i++) cin >> S[i]; cout << count_swaps(S); return 0; }

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

shoes.cpp: In function 'int main()':
shoes.cpp:74:25: error: could not convert '(long long int*)(& S)' from 'long long int*' to 'std::vector<int>'
   74 |     cout << count_swaps(S);
      |                         ^
      |                         |
      |                         long long int*