提出 #44331312
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
#define de(x) cout<<#x<<"="<<x<<endl
using ll = long long;
ll fs(ll n,ll m,ll a,ll b){
ll res=0;
if (a>=m){
res+=n*(n+1)/2*(a/m),a%=m;
}
if (b>=m){
res+=(n+1)*(b/m),b%=m;
}
ll c=(a*n+b)/m;
if (!c){
return res;
}
res+=n*c-fs(c-1,a,m,m-b-1);
return res;
}
const int N = 2e5+5;
const ll mod = 998244353;
ll n,a[N];
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n;
for (int i=0; i<n; i++){
cin>>a[i];
}
sort(a,a+n);
ll s=a[0]*n,ans=(a[0]+1)%mod;
for (int i=1; i<n; i++){
ll l=a[i-1],r=a[i],A=n-i,B=s-l*(n-i),m=n;
ll ad=fs(r,m,A,B)-fs(l,m,A,B)+r-l;
(ans+=ad)%=mod,s+=(r-l)*(n-i);
}
cout<<ans<<endl;
return 0;
}
// don't waste time!!!
提出情報
| 提出日時 | |
|---|---|
| 問題 | G - Redistribution of Piles |
| ユーザ | SFlyer |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 625 |
| コード長 | 780 Byte |
| 結果 | AC |
| 実行時間 | 148 ms |
| メモリ | 5260 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 625 / 625 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_small_00.txt, 01_small_01.txt, 01_small_02.txt, 01_small_03.txt, 01_small_04.txt, 02_n_small_00.txt, 02_n_small_01.txt, 02_n_small_02.txt, 02_n_small_03.txt, 02_n_small_04.txt, 03_random_00.txt, 03_random_01.txt, 03_random_02.txt, 03_random_03.txt, 03_random_04.txt, 03_random_05.txt, 03_random_06.txt, 03_random_07.txt, 03_random_08.txt, 03_random_09.txt, 04_corner_00.txt, 04_corner_01.txt, 04_corner_02.txt, 04_corner_03.txt, 04_corner_04.txt, 04_corner_05.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 6 ms | 3540 KiB |
| 00_sample_01.txt | AC | 2 ms | 3532 KiB |
| 00_sample_02.txt | AC | 2 ms | 3644 KiB |
| 00_sample_03.txt | AC | 2 ms | 3528 KiB |
| 01_small_00.txt | AC | 3 ms | 3608 KiB |
| 01_small_01.txt | AC | 2 ms | 3608 KiB |
| 01_small_02.txt | AC | 2 ms | 3648 KiB |
| 01_small_03.txt | AC | 2 ms | 3620 KiB |
| 01_small_04.txt | AC | 2 ms | 3592 KiB |
| 02_n_small_00.txt | AC | 2 ms | 3536 KiB |
| 02_n_small_01.txt | AC | 7 ms | 3624 KiB |
| 02_n_small_02.txt | AC | 2 ms | 3648 KiB |
| 02_n_small_03.txt | AC | 3 ms | 3552 KiB |
| 02_n_small_04.txt | AC | 2 ms | 3536 KiB |
| 03_random_00.txt | AC | 125 ms | 4832 KiB |
| 03_random_01.txt | AC | 145 ms | 5132 KiB |
| 03_random_02.txt | AC | 143 ms | 5048 KiB |
| 03_random_03.txt | AC | 146 ms | 5108 KiB |
| 03_random_04.txt | AC | 115 ms | 4732 KiB |
| 03_random_05.txt | AC | 148 ms | 5152 KiB |
| 03_random_06.txt | AC | 105 ms | 4648 KiB |
| 03_random_07.txt | AC | 145 ms | 5080 KiB |
| 03_random_08.txt | AC | 136 ms | 4984 KiB |
| 03_random_09.txt | AC | 145 ms | 5152 KiB |
| 04_corner_00.txt | AC | 26 ms | 5260 KiB |
| 04_corner_01.txt | AC | 137 ms | 5208 KiB |
| 04_corner_02.txt | AC | 3 ms | 3544 KiB |
| 04_corner_03.txt | AC | 139 ms | 5156 KiB |
| 04_corner_04.txt | AC | 86 ms | 4552 KiB |
| 04_corner_05.txt | AC | 134 ms | 5104 KiB |