为啥越界了

#include<bits/stdc++.h>
using namespace std;
int a[1001];

int main()
{
    int w,n,cnt=0;
    cin>>w>>n;
    for(int i=1;i<=n;i++) cin>>a[i];
    sort(a+1,a+n+1);
    int head=1,tail=n;
    for(int i=1;i<=n;)
    {
        if(a[head]+a[tail]<=w)
        {
            cnt++;
            head++; tail--;i+=2;
        }else{
            cnt++;
            tail--;i++;
        }
    }
    cout<<cnt;
} 

2 条评论

  • 1

信息

ID
1409
难度
4
分类
贪心 点击显示
标签
递交数
8100
已通过
3191
通过率
39%
被复制
25
上传者