连我都觉得水的那就真的是水题了.#include<iostream> using namespace std; int main() { int n; cin>>n; int a[1024]={0}; int b[1024]={-10000}; for(int i=0;i<n;i++) { int x,y;int h=0; cin>>x>>y; int p=0; for(int j=x;j<=y;j++) { int sum=0; for(int k=1;k<=j;k++) if(j%k==0) a[k-1]=k; for(int l=0;l<1024;l++) sum=sum+a[l]; h=sum-2*j; b[p++]=h; h=0; for(int s=0;s<1024;s++) a[s]=0; } int max=b[0]; for(int q=0;q<1023;q++) if(max<b[q+1]) max=b[q+1]; if(max<=0) cout<<"-1"<<endl; else cout<<max<<endl; for(int r=0;r<1024;r++) { b[r]=-10000; } } return 0; }