QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#808219 | #9864. Coin | 22016020736 | WA | 1ms | 8016kb | C++17 | 720b | 2024-12-10 18:17:01 | 2024-12-10 18:17:01 |
Judging History
answer
#include<bits/stdc++.h>
#define lowbit(x) (x&-x)
using namespace std;
int arr[2000009];
int sum[2000009];
int m;
int s[2000009];
void add(int a)
{
for(int i=a;i<=m;i+=lowbit(i)) sum[i]++;
}
int query(int a)
{
int summ=0;
for(int i=a;i;i-=lowbit(i)) summ+=sum[i];
return summ;
}
int main()
{
int n;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
{
scanf("%d",&arr[i]);
sum[i]=sum[i-1]+arr[i];
sum[i]%=m;
}
int ans=0;
int curs=0;
add(1);
for(int i=1;i<=n;i++)
{
int ct=query(m)-query(sum[i]);
ans+=(sum[i]*i-curs+ct*m);
add(sum[i]+1);
}
printf("%d\n",ans);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 1ms
memory: 8016kb
input:
4 6 2 8 3 10000 2 1919810 114514
output:
132
result:
wrong answer 1st numbers differ - expected: '4', found: '132'