Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- #define int long long
- using namespace std;
- main(){
- ios_base::sync_with_stdio(false);cin.tie(0);
- if(fopen(".inp","r")){freopen(".inp","r",stdin);freopen(".out","w",stdout);}
- bool mUlTiTeStCasE=1;
- int tt=1;
- if(mUlTiTeStCasE)cin>>tt;
- auto proc=[]()->void{
- int n;
- cin>>n;
- int k[n],h[n];
- pair<int,int>f[n];
- for(int i=0;i<n;++i)cin>>k[i];
- for(int i=0;i<n;++i)cin>>h[i],f[i]=pair<int,int>(k[i]-h[i]+1,k[i]);
- auto sum=[](int l,int r)->int{
- return (r-l+1)*(l+r)>>1;
- };
- sort(f,f+n);
- int ds=0,damge=0,time=0;
- for(int i=0;i<n;++i){
- if(time>=f[i].second)continue;
- if(f[i].first>time){
- ds+=sum(1,f[i].second-f[i].first+1);
- damge=f[i].second-f[i].first+1;
- time=f[i].second;
- }
- else{
- f[i].first=time+1;
- ds+=sum(damge+1,damge+1+f[i].second-f[i].first);
- damge+=f[i].second-f[i].first+1;
- time=f[i].second;
- }
- }
- cout<<ds<<'\n';
- };
- while(tt--){
- proc();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement