# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
145131 | 2019-08-18T21:15:34 Z | bogdan_buzatu | Alkemija (COCI18_alkemija) | C++14 | 197 ms | 12276 KB |
#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
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 6648 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 6648 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 9 ms | 6648 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 7 ms | 6520 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 6648 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 6648 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 54 ms | 7800 KB | Output is correct |
2 | Correct | 72 ms | 8880 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 135 ms | 9464 KB | Output is correct |
2 | Correct | 145 ms | 11172 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 177 ms | 10688 KB | Output is correct |
2 | Correct | 162 ms | 9848 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 197 ms | 11256 KB | Output is correct |
2 | Correct | 184 ms | 12276 KB | Output is correct |