水题
解释一下ljr的“想一想,为什么”
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#define LL long long int
using namespace std;
int a[100000];
int dis[100000];
int fail;
int u = 1;
int y = 1;
int n;
bool judge(int begin)
{
int p = begin;
int sum = 0;
for(int i = begin; i <= n+begin-1; i++)
{
sum += a[p];
sum -= dis[p];
if(sum < 0)
{
fail = p;
return 0;
}
p ++;
if(p == n+1) p = 1;
}
return 1;
}
int main()
{
//freopen("ztest.txt","r",stdin);
int t;
scanf("%d", &t);
while(t--)
{
printf("Case %d: ",u++);
scanf("%d", &n);
for(int i = 1; i <= n; i++)
scanf("%d", &a[i]);
for(int i = 1; i <= n; i++)
scanf("%d", &dis[i]);
for(int i = 1; i <= n; i++)
{
if(!judge(i))
{
int temp = i;
i = fail;
if(fail == n || fail < temp)
{
printf("Not possible\n");
break;
}
}
else
{
printf("Possible from station %d\n",i);
break;
}
}
}
return 0;
}