1. 个人总结前言 这次小白月赛也算是一个教训,检验出了很多常见问题和不好的习惯 , 如下

  1. 喜欢每个测试点memset(a,0,sizeof(a))而导致超时 , 代码写的比较复杂而不考虑尽可能简略以减少错误
  2. 读题一掠而过,长一些的题目很经常读错导致代码写错 1,2两个问题集中体现在第一题和第二题中 对于精度问题总是不注意,体现在C题,之后尽量把精度问题都成10至整数再写(多次犯病) 相信大多数选手也会偶尔犯如上错误,于是乎在提交几次后过不去导致心态崩裂进而开摆

- A深渊水妖

const int N = 1e5+ 8;
typedef long long ll;
int n,a[N],t;
struct node{
    int num,left,right;
};
bool cmp(node a,node b){
    if(a.num!=b.num)return a.num>b.num;
    else return a.left<b.left;
}
int main()
{
    scanf("%d",&t);
    while(t--){
        vector<node>vv;
        scanf("%d",&n);
        for(int i=1;i<=n;i++)scanf("%d",&a[i]);
        int l=1,maxx=0;
        for(int i=2;i<=n;i++){
            if(a[i]<a[i-1]) {
                vv.push_back({a[i-1]-a[l],l,i-1});
                maxx = max(a[i-1]-a[l],maxx);
                l=i;
            }
        }
        vv.push_back({a[n]-a[l],l,n});
        maxx = max(maxx,a[n]-a[l]);
        sort(vv.begin(),vv.end(),cmp);
        for(int i=0;i<vv.size();i++){
            if(vv[i].num==vv[0].num)cout<<vv[i].left<<' '<<vv[i].right<<' ';
            else break;
        }
        printf("\n");
    }
    return 0;
}

``