1. 这道题简单的使用了前缀和求一个区间的和
2.这里有两个距离的比较一个是从l到r,一个是r到出口到l,这里假定(r>l);
这样也好求出两个值;s[r-1]-s[l-1]求r到l的距离,
3。如果l>r则交换两个值。
#includeusing namespace std; const int N =1e5+10; int s[N]; int main(){ int n,m; cin>>n; for(int i=1;i<=n;i++){ cin>>s[i]; s[i]+=s[i-1]; } cin>>m; while(m--){ int l,r; cin>>l>>r; if(l>r)swap(l,r); cout< 欢迎分享,转载请注明来源:内存溢出
评论列表(0条)