可以发现全是求和,直接拆开算贡献就好了
#include#define ll long longusing namespace std;const int ha=998244353,N=1e6+5;inline int read(){ int x=0; char ch=getchar(); for(;!isdigit(ch);ch=getchar()); for(;isdigit(ch);ch=getchar()) x=x*10+ch-'0'; return x;}inline int add(int x,int y){ x+=y; return x>=ha?x-ha:x;}inline void ADD(int &x,int y){ x+=y; if(x>=ha) x-=ha;}int n,c[N],a[N],ans;inline void calc(){ for(int i=1;i