第一题、
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int a[1010]={0};
int b[1010]={0};
int c[1010]={0};
for(int i=0;i<n;i++)
{
cin>>a[i]>>b[i];
}
int lc=0;
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(b[i]>=a[j])
{
c[lc]=b[i]-a[j]+1;
lc++;
}
}
}
int max=0;
for(int i=0;i<lc;i++)
{
if(c[i]>max)
{
max=c[i];
}
}
cout<<max<<endl;
return 0;
}
第二题、
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
int a[220]={0};
int b[220]={0};
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<n;i++)
{
a[i+n]=a[i];
}
int sum=0;
int lb=0;
for(int i=0;i<2*n-1;i++)
{
for(int j=i+1;j<2*n;j++)
{
if(a[i]>a[j])
{
i++;
j++;
sum++;
}
if(a[i]<a[j])
{
b[lb]=sum;
lb++;
break;
}
}
}
int max=0;
for(int i=0;i<lb;i++)
{
if(b[i]>max)
{
max=b[i];
}
}
cout<<max<<endl;
return 0;
}