Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- vector<int> gas, cost;
- int canCompleteCircuit(vector<int> &gas, vector<int> &cost){
- int n = gas.size();
- int sumGas = 0;
- int sumCost = 0;
- int cur = 0;
- int mn = 0;
- int ans = 0;
- for(int i = 0; i < n; ++i){
- sumGas += gas[i];
- sumCost += cost[i];
- cur += gas[i] - cost[i];
- if(cur < mn){
- mn = cur;
- ans = (i + 1) % n;
- }
- }
- if(sumGas < sumCost){
- return -1;
- }
- return ans;
- }
- int main(){
- int n;
- scanf("%d", &n);
- for(int i = 1; i <= n; ++i){
- int x;
- scanf("%d", &x);
- gas.push_back(x);
- }
- for(int i = 1; i <= n; ++i){
- int x;
- scanf("%d", &x);
- cost.push_back(x);
- }
- cout << canCompleteCircuit(gas, cost);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement