Cod sursa(job #2005699)

Utilizator patcasrarespatcas rares danut patcasrares Data 27 iulie 2017 20:29:23
Problema Curcubeu Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<iostream>
#include<set>
using namespace std;
int n,t,x,p,nr;
string a;
set<int>s;
char r[5000005];
int y[5000005];
int main()
{
    for(int i=1;i<=5000000;i++)
        s.insert(i);
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a>>t;
        for(int j=1;j<=t;j++)
        {
            cin>>x;
            int t=a.size()-1;
            nr=max(nr,x+t);
            auto it=s.lower_bound(x);
            p=*it-x;
            while(p<a.size())
            {
                r[*it]=a[p];
                y[*it]=1;
                it=s.erase(it);
                p=*it-x;
            }
        }
    }
    for(int i=1;i<=nr;i++)
        if(y[i])
            cout<<r[i];
        else
            cout<<'a';
}