Submission #87480

#TimeUsernameProblemLanguageResultExecution timeMemory
87480zoooma13Vudu (COCI15_vudu)C++14
42 / 140
1079 ms66560 KiB
#include <bits/stdc++.h> using namespace std; #define MAX_N 1000006 int N; long long A[MAX_N]; int P; int bit[MAX_N]; int query(int idx){ int ret = 0; for(int i=idx+1; i; i-=(i&-i)) ret += bit[i]; return ret; } void update(int idx){ for(int i=idx+1; i<=N+5; i+=(i&-i)) bit[i] += 1; } int main() { scanf("%d",&N); for(int i=1; i<=N; i++) scanf("%d",&A[i]); scanf("%d",&P); map <long long ,int> mp;mp[0]; for(int i=1; i<=N; i++){ A[i] += A[i-1]-P; mp[A[i]]; } int id = 0; for(auto&i : mp) i.second = id++; for(int i=0; i<=N; i++) A[i] = mp[A[i]]; long long ans = 0; for(int i=0; i<=N; i++){ ans += query(A[i]); update(A[i]); } cout << ans << endl; }

Compilation message (stderr)

vudu.cpp: In function 'int main()':
vudu.cpp:26:25: warning: format '%d' expects argument of type 'int*', but argument 2 has type 'long long int*' [-Wformat=]
         scanf("%d",&A[i]);
                    ~~~~~^
vudu.cpp:24:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&N);
     ~~~~~^~~~~~~~~
vudu.cpp:26:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&A[i]);
         ~~~~~^~~~~~~~~~~~
vudu.cpp:27:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&P);
     ~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...