显示代码纯文本
#include <fstream>
#include <algorithm>
using namespace std;
ifstream input ("explore.in");
ofstream output ("explore.out");
int a,b,c[50001]={0},d=0,e=0,t=0,i;
class po
{
public:
int a;
int b;
}p[50001]={0};
int cmp(po a,po b)
{
if(a.a>b.a)
return 0;
else
return 1;
}
int main ()
{
input>>a>>b;
for(i=1;i<=b;i++)
{
input>>c[i];
if(c[i]<0)
p[i].a=d-c[i];
else
p[i].a=c[i];
p[i].b=i;
}
sort(p+1,p+b+1,cmp);
for(i=1;i<=b;i++)
{
if((c[p[i].b]>0&&c[p[i-1].b]>0)||(c[p[i].b]<0&&c[p[i-1].b]<0))
t=t+p[i].a-p[i-1].a;
else
t=t+p[i].a+p[i-1].a;
if(a>=t)
e++;
if(a<t)
break;
}
output<<e;
input.close();
output.close();
return 0;
}