Submission #947286

#TimeUsernameProblemLanguageResultExecution timeMemory
947286Zena_HossamVudu (COCI15_vudu)C++14
70 / 140
386 ms65536 KiB
#include <bits/stdc++.h> #include <ext/pb_ds/tree_policy.hpp> #include <ext/pb_ds/assoc_container.hpp> #define ll long long using namespace std; namespace __gnu_pbds { typedef tree<ll, null_type, less_equal<ll>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; } using namespace __gnu_pbds; #define fi ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); //#define ll double //#define ll1 int #define F first #define S second #define sz size() #define all(s) s.begin(),s.end() #define all1(s) s.rbegin(),s.rend() int main() { //freopen("stdin.in","r",stdin);freopen("stdout.out","w",stdout); ll T=1; fi //cin>>T;ll oo=0; while(T--) { ll n; cin>>n; ll arr[n]; for(ll i=0; i<n; i++) { cin>>arr[i]; } ll x; cin>>x; ll a[n]= {}; ordered_set s,v; ll c=0; for(ll i=0; i<n; i++) { a[i]+=(arr[i]-x); if(i)a[i]+=a[i-1]; // cout<<c<<" "; ll k=a[i]; if(k>=0) { c+=(i+1-(s.size()-s.order_of_key(k+1))); } if(k<0) { c+=(v.order_of_key(k+1)); }if(a[i]>=0) { s.insert(a[i]); } else v.insert(a[i]); // cout<<c<<"\n"; } cout<<c; } }
#Verdict Execution timeMemoryGrader output
Fetching results...