# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
98435 |
2019-02-23T16:48:08 Z |
luciocf |
Vudu (COCI15_vudu) |
C++14 |
|
995 ms |
66560 KB |
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,abm,avx,mmx,popcnt,tune=native")
using namespace std;
const int maxn = 1e6+10;
typedef long long ll;
struct node
{
node *l, *r;
ll v;
int w, sz;
node(ll vv)
{
l = r = NULL;
v = vv, sz = 1, w = rand();
}
};
typedef node*& node_t;
int sz(node *t)
{
return (t ? t->sz : 0);
}
void op(node *t)
{
if (t) t->sz = sz(t->l)+sz(t->r)+1;
}
void split(node *t, node_t l, node_t r, ll x)
{
if (!t) return void(l=r=NULL);
if (t->v > x) split(t->l, l, t->l, x), r = t;
else split(t->r, t->r, r, x), l = t;
op(t);
}
void insert(node_t t, node *it)
{
if (!t) t = it;
else if (it->w > t->w) split(t, it->l, it->r, it->v), t = it;
else insert((it->v > t->v ? t->r : t->l), it);
op(t);
}
int query(node *t, ll x)
{
if (!t) return 0;
else if (t->v > x) return sz(t->r)+1+query(t->l, x);
return query(t->r, x);
}
int num[maxn];
ll soma[maxn];
#define gc getchar_unlocked
inline int scan(){
int n=0, x=gc();
for(;x<'0'||x>'9';x=gc()){}
for(;!(x<'0'||x>'9');x=gc()) n = 10*n + x-'0';
return n;
}
int main(void)
{
ios::sync_with_stdio(false), cout.tie(0);
int n, p;
n = scan();
for (int i = 1; i <= n; i++)
num[i] = scan();
p = scan();
soma[0] = -p;
for (int i = 1; i <= n; i++)
soma[i] = soma[i-1]+(ll)num[i]-(ll)p;
ll ans = 0LL;
node *t = NULL;
node *it = new node(soma[0]);
insert(t, it);
for (int i = 1; i <= n; i++)
{
ans += (ll)i-(ll)query(t, soma[i]);
it = new node(soma[i]);
insert(t, it);
}
cout << ans << '\n';
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
896 KB |
Output is correct |
2 |
Correct |
5 ms |
660 KB |
Output is correct |
3 |
Correct |
5 ms |
640 KB |
Output is correct |
4 |
Runtime error |
995 ms |
66524 KB |
Memory limit exceeded (if you are sure your verdict is not MLE, please contact us) |
5 |
Correct |
456 ms |
37924 KB |
Output is correct |
6 |
Correct |
665 ms |
58868 KB |
Output is correct |
7 |
Correct |
625 ms |
61432 KB |
Output is correct |
8 |
Correct |
678 ms |
53156 KB |
Output is correct |
9 |
Runtime error |
795 ms |
66560 KB |
Memory limit exceeded (if you are sure your verdict is not MLE, please contact us) |
10 |
Correct |
671 ms |
59772 KB |
Output is correct |