A题22行只写 i<=n AC了,而加上j<=n就全WA了

#include <bits/stdc++.h>

using namespace std;
const int N =100010;
int aa[N];
typedef long long ll;
typedef pair<int,int> pii;
bool cmp(pii a,pii b)
{
    if(aa[a.second]-aa[a.first]!=aa[b.second]-aa[b.first])
        return aa[a.second]-aa[a.first]>aa[b.second]-aa[b.first];
    else return a.first<b.first;
}
int main()
{
    int T;
    scanf("%d",&T);
    while(T--){
        int n;scanf("%d",&n);
        for(int i=1;i<=n;i++) scanf("%d",&aa[i]);
        vector<pii> ans;
        for(int i=1,j=1;i<=n&&j<=n;){
            while(j<=n&&aa[j]>=aa[j-1]) j++;
            ans.push_back({i,j-1});
            i=j;j++;
        }
        int len=ans.size();
        sort(ans.begin(),ans.end(),cmp);
        for(int i=0;i<len;i++){
            if(aa[ans[i].second]-aa[ans[i].first]==aa[ans[0].second]-aa[ans[0].first])
                printf("%d %d ",ans[i].first,ans[i].second);
        }puts("");
    }
    return 0;
}


可能有边界问题?但我觉得加与不加不影响答案呀
像 2 1 1 这种数据我也是输出了 1 1 2 3,也不至于全WA呀(要哭了😔
全部评论

相关推荐

03-28 22:31
门头沟学院 Java
点赞 评论 收藏
分享
02-25 11:29
产品经理
牛客444597598号:兄弟 我只能说如果想找产品经理这种简历 基本就是毕业失业了 你这连实习都找不到的 简历跟产品经理一点都没有关系,你可以去搜搜产品的模版吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务