40pts求条
查看原帖
40pts求条
756825
Ze_king楼主2024/10/21 17:42
#include <bits/stdc++.h>
using namespace std;

int n,ans;
int lspace[200005];
int rspace[200005];
int main(){
    cin>>n;
    for (int i=1;i<=n;i++){ 
        cin>>rspace[i];
    }
    for (int i=1;i<=n;i++){
        cin>>lspace[i];
        rspace[i]=rspace[i]-lspace[i]+1;
    }
    long long  s=(1<<n)-1;
    for (long long i=0;i<=s;i++){
        int minlength=INT_MAX;
        for (int j=1;j<=n;j++){
            int now;
            now=i&(1<<(j-1));
            if (now){
                minlength=min(minlength,rspace[j]);
            }else{
                minlength=min(minlength,lspace[j]);
            }
        }
        ans+=minlength-1;
    }
    cout<<(ans+1)%(1000000007)<<endl;
    return 0;
}
2024/10/21 17:42
加载中...