| # | Time | Username | Problem | Language | Result | Execution time | Memory | 
|---|---|---|---|---|---|---|---|
| 144784 | RaresRosca | Alkemija (COCI18_alkemija) | C++14 | 206 ms | 12588 KiB | 
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <deque>
#include <vector>
using namespace std;
int n,m,i,j,x,f[100010],f1[100010],k,ec,reac,sol;
deque<int> q;
vector<int> D[100010];
struct reactie{
    int L;
    int R;
    int N;
    vector<int> Y;
};
reactie v[100010];
int main(){
    cin>>n>>m;
    for(i=1;i<=m;i++){
        cin>>x;
        f[x]=1;
    }
    cin>>k;
    for(i=1;i<=k;i++){
        cin>>v[i].L>>v[i].R;
        v[i].N=v[i].L;
        for(j=1;j<=v[i].L;j++){
            cin>>x;
            D[x].push_back(i);
            if(f[x]==1){
                v[i].N--;
                if(v[i].N==0){
                    q.push_back(i);
                    f1[i]=1;
                }
            }
        }
        for(j=1;j<=v[i].R;j++){
            cin>>x;
            v[i].Y.push_back(x);
        }
    }
    while(!q.empty()){
        x=q.front();
        q.pop_front();
        for(i=0;i<v[x].Y.size();i++){
            ec=v[x].Y[i];
            if(f[ec]==0){
                f[ec]=1;
                for(j=0;j<D[ec].size();j++){
                    reac=D[ec][j];
                    if(f1[reac]==0){
                        v[reac].N--;
                        if(v[reac].N==0){
                            q.push_back(reac);
                            f1[reac]=1;
                        }
                    }
                }
            }
        }
    }
    for(i=1;i<=n;i++)
        if(f[i]==1)
            sol++;
    cout<<sol<<"\n";
    for(i=1;i<=n;i++)
        if(f[i]==1)
            cout<<i<<" ";
    return 0;
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output | 
|---|---|---|---|---|
| Fetching results... | ||||
