UVA11093JustFinishItUp

来源:互联网 发布:linux php打开下载 编辑:程序博客网 时间:2024/06/04 19:30
//UVA11093JustFinishItUp#include<cstdio>#include<cstdlib> #include<cstring>const int MAXN = 1e5 + 10;int ps[MAXN], qs[MAXN];char vis[MAXN];int main() {int T;//freopen("UVA11093out.txt", "w", stdout);scanf("%d", &T);int kase = 0;while(T--) {int n;printf("Case %d: ", ++kase);scanf("%d", &n);    memset(vis, 0, sizeof(vis));memset(ps, 0, sizeof(ps));memset(qs, 0, sizeof(qs));for(int i = 0; i < n; i++) scanf("%d", &ps[i]);for(int i = 0; i < n; i++) scanf("%d", &qs[i]);//for(int i = 0; i < n; i++) ps[i] -= qs[i];int start = 0, finish = 1;int tot = ps[start] - qs[start];int flag = 0;while(start < n && start != finish) {//printf("start = %d, finish = %d, tot = %d\n", start, finish, tot);if(tot >= 0) {tot += ps[finish]; tot -= qs[finish]; finish++;if(finish >= n) {flag = 1; finish %= n;} }else if(!flag){start = finish++; tot = ps[start] - qs[start];if(finish >= n) {flag = 1; finish %= n;}}if(flag && tot < 0) start = n;}if(start == n) {printf("Not possible\n");}else {printf("Possible from station %d\n", start + 1);}}return 0;}/*251 1 1 1 11 1 2 1 171 1 1 10 1 1 12 2 2 2 2 2 2*/

原创粉丝点击