結果

問題 No.696 square1001 and Permutation 5
ユーザー vjudge1
提出日時 2025-05-03 20:32:38
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 737 bytes
コンパイル時間 2,991 ms
コンパイル使用メモリ 272,144 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2025-05-03 20:32:42
合計ジャッジ時間 3,882 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 1 WA * 11
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
#define lowbit(x) ((x)&(-x))
using i64 = long long;
const int mod = 998244353;
//2024 misaka;
int n,a[1000015],t[1000015];
//2025 mikoto;
void add(int x,int k)
{
	for(int i=x;i<=n;i+=lowbit(i))t[i]+=k;
}

i64 qu(int l,int r)
{
	i64 ans=0;
	for(int i=l-1;i>=1;i-=lowbit(i))ans-=t[i];
	for(int i=r;i>=1;i-=lowbit(i))ans+=t[i];
	return ans;	
}

inline void solve()
{
	cin>>n;
	i64 ans=0;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
		add(a[i],1);
		ans=(ans+a[i]-qu(1,a[i]));//sum=sum+c,c??(1,a[i])??????????a[i]???
		ans=ans*max(n-i,1);//???sum=sum*base+c;?????????????sum=sum*base;
	}
	cout<<(ans+1)<<"\n";
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	solve();
	return 0;
}
0