Help me in solving LEADGAME problem

My issue

my approach seemed correct to me and the answer i got for my test cases are correct, but after submission it says that all the test cases internally failed. please help me debug my solution.

My code

#include<bits/stdc++.h>
using namespace std;
int main() {
    
int n;
    cin >> n;

    vector<int> leader;
    vector<int> lead;
    for (int i = 0; i < n; i++) {
        int S, T;
        cin >> S >> T;
        
        int currentLead = abs(S - T); // Calculate absolute lead
        lead.push_back(currentLead);

        if (S > T) {
            leader.push_back(1);
        } else {
            leader.push_back(2);
        }
    }

    int maxLead = 0;
    int winner = 0;
    for (int i = 0; i < n; i++) {
        if (lead[i] > maxLead) {
            maxLead = lead[i];
            winner = leader[i];
        }
    }

    cout << winner << " " << maxLead << endl;

return 0;
}


Problem Link: Practice Coding Problem - CodeChef

@anon69724743
plzz refer the following code for better understanding of the logic

#include<bits/stdc++.h>
using namespace std;
#define ll long long 
 
int main(){
   ios_base::sync_with_stdio(false);
   cin.tie(NULL);
   // Write your code here 
   ll n;
   cin >> n;
   vector<pair<ll,ll> > v(n);
   for(ll i=0;i<n;i++){
    cin>>v[i].first;
    cin>>v[i].second;
   }
   ll sum1=0;
   ll sum2=0;
   ll maxlead=0;
   ll player=0;
   ll lead=0;
   for(ll i=0;i<n;i++){
    sum1+=v[i].first;
    sum2+=v[i].second;
    if(sum1>sum2){
        lead=sum1-sum2;
        if(lead>maxlead){
            maxlead=lead;
            player=1;
        }
    }
    if(sum2>sum1){
        lead=sum2-sum1;
        if(lead>maxlead){
            maxlead=lead;
            player=2;
        }
    }
   }
   cout<<player<<" "<<maxlead<<endl;
   return 0;
}