求助
查看原帖
求助
363006
wangyibo201026楼主2021/12/9 19:17

求助 RE。

代码:

#include<bits/stdc++.h>

using namespace std;

int n, p[100005], q[100005], t;

void Solve(){
  cin >> t;
  for(int l = 1; l <= t; l++){
    cin >> n;
    for(int i = 1; i <= n; i++){
      cin >> p[i];
    }
    for(int i = 1; i <= n; i++){
      cin >> q[i];
    }
    bool flag = false;
    for(int i = 1; i <= n; i++){
      long long sum = 0;
      flag = false;
      for(int j = i; j <= i + n; j++){
        sum += p[j];
        sum -= q[j];
        if(j != i + n && sum <= 0){
          i = (j + 1) % n + 1;
          flag = true;
          break;
        }
        if(j == n && sum < 0){
          i = (j + 1) % n + 1;
          flag = true;
          break;
        }
      }
      if(!flag){
        cout << "Case " << l << ": Possible from station " << i << endl;
        break;
      }
    }
    if(flag){
      cout << "Case " << l << ": Not possible\n";
    }
  }
}

int main(){
  Solve();
  return 0;
}
2021/12/9 19:17
加载中...