➤ Problem Link : 1165E. Two Arrays and Sum of Functions
✅ C++ Solution :
#include<bits/stdc++.h> using namespace std; #define ll long long int #define M 998244353 int main() { int n; cin>>n; ll a[n],b[n],c[n]; multimap<double,int> mp; for(int i=0;i<n;i++) { cin>>a[i]; mp.insert(make_pair(log(i+1)+log(n-i)+log(a[i]),i)); } for(int i=0;i<n;i++) cin>>b[i]; sort(b,b+n,greater<int>()); int i=0; ll ans=0; for(auto it = mp.begin();it!=mp.end();it++) { c[(*it).second]=b[i]; ll ind = (*it).second; ans=(ans+((((ind+1)%M*(n-ind)%M)%M*(a[ind])%M)%M * b[i]%M)%M)%M; i++; } // for(int i=0;i<n;i++) // cout<<c[i]<<" "; cout<<ans; }
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!