Ошибка на Codechef - завершить вызов после выброса экземпляра 'std :: bad_allo c' - PullRequest
0 голосов
/ 25 апреля 2020

Когда я запускаю этот код на локальном компьютере, он работает нормально. Но на codechef это выдает ошибку bad_allo c. Пожалуйста, объясните мне причину этой проблемы и как ее исправить, и любые другие советы при использовании векторов, чтобы избежать таких ошибок.

Вот код:

#include<bits/stdc++.h>
using namespace std;
#define ll         long long int
#define pb         push_back
#define eb         emplace_back
#define vc         vector<long long int>
#define cin(x)     cin >> x
#define cl(x)      cout << x << "\n"
#define cs(x)      cout << x << " "
#define ff(i,x)    for(int i=0; i<x; i++)
#define fr(i,x,y)  for(int i=x; i<=y; i++)
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(NULL);
    #ifndef ONLINE_JUDGE
    freopen("C:/Users/VISHWA/Desktop/Codes/Template/input.txt", "r", stdin);
    freopen("C:/Users/VISHWA/Desktop/Codes/Template/output.txt", "w", stdout);
    #endif

    ll t;
    cin(t);
    while(t--)
    {
        ll n,s;
        cin(n); cin(s);
        vc p(n);
        vc l(n);
        for(int i=0;i<n;i++)
        {
            cin >> p[i];
        }
        for(int i=0;i<n;i++)
        {
            cin >> l[i];
        }
        ll min1=100;
        ll min2=100;
        for(int i=0;i<n;i++)
        {
            if(l.at(i) == 0)
            {
                if(p.at(i) < min1) {min1=p.at(i);}
            } else if(l.at(i) == 1)
                {if(p.at(i) < min2)
                    {min2 = p.at(i);}
                }
        }

        if(min1+min2+s <= 100)
            cl("yes");
        else
            cl("no");   
    }
    return 0;
}

Ошибка на Codechef: Почему мой код выдает эту ошибку на codechef?

...