暴力枚举每一个点
#include<bits/stdc++.h>
using namespace std;
vector<int>v[200001];
const int sz=2*1e5+7;
typedef long long ll;
const int INF=0x3f3f3f3f;
map<int,int>mp;
int a[sz],b[sz],l[sz],r[sz];
char c[sz];
int main()
{
int n,m;
scanf("%d %d",&n,&m);
int i,j,k;
for(i=1; i<=n; i++)
scanf("%d",&a[i]);
for(i=1; i<=m; i++)
scanf("%d %d",&l[i],&r[i]);
if(n==1)
printf("0\n0\n");
else
{
int sum,t,mx=-INF,sum1=0;
for(i=1; i<=n; i++)
{
sum=0;
for(j=1; j<=n; j++)
b[j]=a[j];
for(j=1; j<=m; j++)
{
if(i<l[j]||i>r[j])
{
sum++;
for(k=l[j]; k<=r[j]; k++)
b[k]--;
}
}
int maxx=INF;
for(k=1; k<i; k++)
if(maxx>b[k])
maxx=b[k];
for(k=i+1; k<=n; k++)
if(maxx>b[k])
maxx=b[k];
if(mx<a[i]-maxx)
{
mx=a[i]-maxx;
t=i;
sum1=sum;
}
}
printf("%d\n%d\n",mx,sum1);
if(sum1!=0)
{
for(i=1;i<=m;i++)
if(t>r[i]||t<l[i])
printf("%d ",i);
}
}
return 0;
}