?
# | Author | Problem | Lang | Verdict | Time | Memory | Sent | Judged | |
---|---|---|---|---|---|---|---|---|---|
192770088 |
Practice: Archaeopteryx |
999D - 32 | C++20 (GCC 11-64) | Accepted | 546 ms | 12576 KB | 2023-02-08 20:15:16 | 2023-02-08 20:15:16 |
#include<bits/stdc++.h> #define int long long using namespace std; int a[200005],c[200005],m,n,ans=0; set<int>s; signed main(){ cin>>n>>m; for(int i=0;i<m;i++)s.insert(i); for(int i=1,j,k;i<=n;i++){ cin>>a[i]; j=a[i]%m; if(j>*s.rbegin())k=*s.begin(); else k=*s.lower_bound(j); if(++c[k]==n/m) s.erase(k); ans+=(k-j+m)%m; a[i]+=(k-j+m)%m; } cout<<ans<<endl; for(int i=1;i<=n;i++) cout<<a[i]<<" "; }
?
?
?
?