只有30分求大佬帮助
#include<bits/stdc++.h>
#define int long long
using namespace std;
int sum;
struct pi{
int w,u;
}s[1500005];
bool cmp(pi x,pi y){
if(x.u == y.u){
return x.w < y.w;
}
return x.u > y.u;
}
int ADD(int x,int y,int mod){
return (x % mod) + (y % mod) % mod;
}
int MUL(int x,int y,int mod){
return (x % mod) * (y % mod) % mod;
}
int check(int x,int y,int a,int b,int xx,int mod){
int nn = MUL(MUL(MUL(MUL(MUL(x , y , mod) , y , mod) , y , mod) , y , mod) , y , mod);
int mm = MUL(MUL(MUL(a , b , mod) , b , mod) , b , mod);
return ADD(ADD(nn , mm , mod) , xx , mod);
}
int check2(int x,int y,int a,int b,int xx,int mod){
int nn = MUL(MUL(MUL(MUL(MUL(x , y , mod) , y , mod) , y , mod) , y , mod) , y , mod);
int mm = MUL(MUL(a , b , mod) , b , mod);
return ADD(ADD(nn , mm , mod) , xx , mod);
}
signed main(){
int a,b,c,d,e,f,g,h,n,m;
cin >> n >> a >> b >> c >> d >> e >> f >> g >> h >> m;
for(int i = 0 ; i < n * 3 ; i ++){
int uu = check(e , i , f , i , g , h);
int vv = check2(a , i , b , i , c , d);
s[i].u = uu;
s[i].w = vv;
}
sort(s , s + n * 3 , cmp);
for(int i = 0 ; i < n ; i ++){
sum = ADD(sum , s[i].w , m);
}
cout << sum % m;
return 0;
}