//uva11093 //贪心算法,加油站环路,O(n) #include<iostream> #include<algorithm> #include<cstdio> using namespace std; const int N = 100005; int n,res,i,j,d,T,t,s; int p[N], x[N]; int main() { scanf("%d", &T); for (j = 1; j <= T;j++) { scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &p[i]); } for (i = 0; i < n; i++) { scanf("%d", &x[i]); } d =t=s=i= 0; while(t<n) { d = d+p[i] - x[i]; i = (i + n + 1) % n; if (d < 0) { if (s >= i) break; d = 0; s = i; t = 0; } else t++; } if(t<n) printf("Case %d: Not possible\n", j); else printf("Case %d: Possible from station %d\n",j,s+1); } return 0; } //system("pause"); /* 20 5 1 1 1 1 1 1 1 2 1 1 7 1 1 1 10 1 1 1 2 2 2 2 2 2 2 */
uva11093贪心算法
猜你喜欢
转载自dailygoing.iteye.com/blog/2327112
今日推荐
周排行