Submission #260171

# Submission time Handle Problem Language Result Execution time Memory
260171 2020-08-09T13:50:34 Z sckmd Vudu (COCI15_vudu) C++14
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>

using namespace std;
typedef long long ll;
#define MAXN 1000005
ll a[MAXN];
ll bit[MAXN];

void update(int idx,int val)
{
  while(idx < MAXN)
  {
    bit[idx] += val;
    idx += idx&(-idx);
  }
}
ll get(int idx)
{
  ll ret = 0LL;
  while(idx > 0)
  {
    ret += bit[idx];
    idx -= idx&(-idx);
  }
  return ret;
}
ll get(int l,int r)
{
  ll ret = get(r);
  if(l > 0)ret -= get(l-1);
  return ret;
}

int main()
{
  ios_base::sync_with_stdio(false);
  int n;
  cin >> n;
  for(int i = 1; i <= n; i++)cin >> a[i];
  int p;
  cin >> p;
  for(int i = 1; i <= n; i++)a[i]-=p,a[i]+=a[i-1];
  vector <int> all;
  all.push_back(0);
  for(int i = 1; i <= n; i++)all.push_back(a[i]);
  sort(all.begin(),all.end());
  erase(unique(all.begin(),all.end()),all.end());
  for(int j = 0; j < all.size(); j++)
  {
    mp[all[j]]=j+1;
  }
  update(mp[0],1);
  ll ans = 0LL;
  for(int i = 1; i <= n; i++)
  {
    ans += get(mp[a[i]]);
    update(mp[a[i]],1);
  }
  cout << ans;
  return 0;
}

Compilation message

vudu.cpp: In function 'int main()':
vudu.cpp:47:3: error: 'erase' was not declared in this scope
   erase(unique(all.begin(),all.end()),all.end());
   ^~~~~
vudu.cpp:47:3: note: suggested alternative: 'raise'
   erase(unique(all.begin(),all.end()),all.end());
   ^~~~~
   raise
vudu.cpp:48:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int j = 0; j < all.size(); j++)
                  ~~^~~~~~~~~~~~
vudu.cpp:50:5: error: 'mp' was not declared in this scope
     mp[all[j]]=j+1;
     ^~
vudu.cpp:50:5: note: suggested alternative: 'p'
     mp[all[j]]=j+1;
     ^~
     p
vudu.cpp:52:10: error: 'mp' was not declared in this scope
   update(mp[0],1);
          ^~
vudu.cpp:52:10: note: suggested alternative: 'p'
   update(mp[0],1);
          ^~
          p