Submission #947984

#TimeUsernameProblemLanguageResultExecution timeMemory
947984vjudge306Vudu (COCI15_vudu)C++17
112 / 140
451 ms65536 KiB
#include <bits/stdc++.h> using namespace std; #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; #define ordered_set tree<ll, null_type, less_equal<ll>, rb_tree_tag, tree_order_statistics_node_update> #define nn "\n" #define x_x ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); #define intt int _; cin >> _; while (_--) #define emp push_back #define mod 1000000007 #define all(v) v.begin(), v.end() #define ld long double #define A first #define B second //#define int long long typedef long long ll; const ld eps = 1e-27; // diff between decimals 0.000000001 mt19937 mt(time(nullptr)); int main() { x_x int n; cin>>n; ll p, sm=0, ar[n]; for(auto&i:ar)cin>>i; cin>>p; ordered_set s; ll ans=0; s.insert(ans); for (ll i=1; i<=n; i++) { sm+=ar[i-1]; ll x=p*i; x=sm-x; ans+=s.order_of_key(x+1); x=-p*i; x+=sm; s.insert(x); } // s.insert(1); s.insert(2); s.insert(3); cout<<s.order_of_key(5); cout<<ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...