题目描述
楠楠来到科技馆参加一个网络信息探测试验活动。试验时中间有一个 WiFi网络路由器,以路由器为中心半径为 R 的圆内(包括圆周上)的手机都可以收到网络信号,而圆外的手机就接收不到信号。楠楠拿着手机,一开始在中间,然后每次向左或向右走动一定距离,停下测试一下网络信号。问有多少次测试是可以接收到网络信号的。
例如:R=8 米,楠楠一共测试了 4 次。第一次向左走 3 米;第二次向左再走4 米;第三次向左再走 2 米;第四次向右再走 12 米,结果只有第 3 次测试楠楠是接收不到信号的,其它 3 次测试都可以接收到网络信号。
输入
第一行,2 个正整数 R 和 N。分别表示网络路由器的工作半径和楠楠的测试次数。
第二行,N 个整数。第 i 个整数 Di 表示楠楠第 i 次向左或向右移动的距离,如果 Di 是负整数,则表示楠楠第 i 次测试是向左移动了|Di|米的距离。如果 Di是非负整数,则表示楠楠第 i 次测试是向右移动了 Di 米距离。
输出
一个整数。表示楠楠有多少次测试是可以接收到网络信号的。
样例输入 复制
4 5
2 2 2 -8 -8
样例输出 复制
3
提示
样例解释:第 1、2、4 次都半径为 4 的圆内,所以可以接收信号
数据范围:
10 个数据:R,N 的范围是[1…100]。每次移动距离的范围是[-100…100]。
#include<bits/stdc++.h>
using namespace std;
int n,m,a,t,x;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++)
{
cin>>a;
x+=a;
if(x>=0)
if(x<=n)
t++;
if(x<0)
if(x>=n-n*2)
t++;
}
cout<<t;
return 0;
}