提交时间:2024-11-14 21:08:21

运行 ID: 34830

#include<bits/stdc++.h> #define int long long using namespace std; int n,t; const int N=300010; const int mod=998244353; long long ans=0; map<long long,long long> mp; map<long long,long long> m; int a[N],b[N],c[N],d[N]; signed main(){ cin>>n>>t; for(int i=1;i<=n;i++){ cin>>a[i]; c[i]=a[i]; m[a[i]]=i; //w[i]=i; } for(int i=1;i<=n;i++){ cin>>b[i]; d[i]=b[i]; } sort(c+1,c+1+n); sort(d+1,d+1+n); for(int i=1;i<=n;i++){ ans+=(c[i]-d[i])*(c[i]-d[i])%mod; mp[d[i]]=c[i]; ans=ans%mod; } cout<<ans<<" "; if(t==0) return 0; long long k=0; for(int i=1;i<=n;i++){ if(a[i]!=mp[b[i]]){ swap(a[i],a[m[mp[b[i]]]]); swap(m[a[i]],m[a[m[mp[b[i]]]]]); k++; } } cout<<k<<endl; }