#include "infection.h"
#include <vector>
#include <utility>



std::vector<int> solve(std::vector<std::pair<int, int>> R,std::vector<long long> D,std::vector<int> S,std::vector<int> T,std::vector<bool> I)
{
    int m=D.size();
    int n=R.size()+1;
    int zar[m]= {0};


    vector<int> put[1000000000000][n];

    for(int i=0; i<m; i++)
    {
        if(S[i]<T[i])
        {
            for(int j=S[i]; j<=T[i]; j++)
            {
                put[D[i]+j-S[i]][j].push_back(i);
            }
        }
        else
        {
            for(int j=S[i]; j>=T[i]; j--)
            {
                put[D[i]+S[i]-j][j].push_back(i);
            }
        }
    }

    for(int i=0; i<1000000000000; i++)
    {
        for(int j=0; j<m; j++)
        {
            bool bb=0;
            for(int c=0; c<put[i][j].size; c++)
            {
                if(I[put[i][j][c]]==1)
                {
                    bb=1;
                }
            }
            if(bb==1)
            {
                for(int c=0; c<put[i][j].size; c++)
                {
                    I[put[i][j][c]]=1;
                    zar[put[i][j][c]]++;
                }
            }
        }
    }

    return zar;
}
