# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
145131 | bogdan_buzatu | Alkemija (COCI18_alkemija) | C++14 | 197 ms | 12276 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 <vector>
using namespace std;
struct reactie{
int needed;
int contsol;
int contramase;
vector<int>soli;
}v[100010];
vector<int>a[100010];
int freq[100010],checked[100010],q[100010];
int rightd,lefts=1;
int n,m,x;
int k,y,curent,curentt,cont;
int main(){
cin>>n>>m;
for(int i=1;i<=m;i++){
cin>>x;
freq[x]=1;
}
cin>>k;
for(int i=1;i<=k;i++){
cin>>v[i].contsol>>v[i].needed;
v[i].contramase=v[i].contsol;
for(int j=1;j<=v[i].contsol;j++){
cin>>x;
a[x].push_back(i);
if(freq[x]==1){
v[i].contramase--;
if(v[i].contramase==0){
rightd++;
q[rightd]=i;
checked[i]=1;
}
}
}
for(int j=1; j<=v[i].needed; j++){
cin>>x;
v[i].soli.push_back(x);
}
}
while(lefts<=rightd){
curent=q[lefts];
for(int i=0; i<v[curent].soli.size(); i++){
y=v[curent].soli[i];
if(freq[y]==0){
freq[y]=1;
for(int j=0; j<a[y].size(); j++){
curentt=a[y][j];
if(checked[curentt]==0){
v[curentt].contramase--;
if(v[curentt].contramase==0){
rightd++;
q[rightd]=curentt;
checked[curentt]=1;
}
}
}
}
}
lefts++;
}
for(int i=1;i<=n;i++){
if (freq[i]==1){
cont++;
}
}
cout<<cont<<"\n";
for(int i=1;i<=n;i++){
if (freq[i]==1){
cout<<i<<" ";
}
}
}
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... |