Submission #1832279


Source Code Expand

#include <bits/stdc++.h>

#define fr first
#define sc second
#define pb push_back
#define mk make_pair

using namespace std;
const int N = 1e5 + 7;

int k, a;

vector<pair<int, int>>v;
pair<bool, int>u[N];
vector<int>g[N];
bool used[N];
bool us[N];

void dfs(int vv)
{
    us[v[vv].sc] = 1;
    used[vv] = 1;
//    cout << v[vv].fr << " " << vv << endl;
    int l = vv;
    while (v[l].sc == v[vv].sc)
    {
        l--;
    }
    l++;
    int pos = l;

    for (int i = 0; i < g[vv].size(); i++)
    {
        int to = g[vv][i];

        if (!used[to])
           dfs(to);
    }
    if (v[vv].sc != 1)
    for (int j = pos; j < v.size(); j++)
    {
        if (v[j].sc != v[vv].sc)
            return;
        if (!used[j])
        dfs(j);
    }
}
main()
{
    int n, m;
    cin >> n >> m;
    for (int i = 1; i <= n; i++)
    {
        scanf("%d",&k);
        for (int j = 1; j <= k; j++)
        {
            scanf("%d",&a);
            v.pb(mk(a, i));
        }
    }

    for (int i = 0; i < v.size(); i++)
    {
        if (u[v[i].fr].fr && v[i].sc != v[u[v[i].fr].sc].sc)
        {
            g[u[v[i].fr].sc].pb(i);
            g[i].pb(u[v[i].fr].sc);
        }
        u[v[i].fr] = (mk(1, i));
    }

    for(int i = 0; i < v.size(); i++)
    {
        if (v[i].sc != 1)
        {
            break;
        }
        if (g[i].size() > 0 && !used[i]){
            dfs(i);
        }
        else
            us[1] = 1;
    }

    for (int i = 1; i <= n; i++)
    {
        if (!us[i])
        {
            cout << "NO";
            return 0;
        }
    }
    cout << "YES";
}


Submission Info

Submission Time
Task C - Interpretation
User vjudge2
Language C++14 (GCC 5.4.1)
Score 200
Code Size 1592 Byte
Status TLE
Exec Time 2104 ms
Memory 11380 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:54:23: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",&k);
                       ^
./Main.cpp:57:27: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
             scanf("%d",&a);
                           ^

Judge Result

Set Name sample dataset1 dataset2
Score / Max Score 0 / 0 200 / 200 0 / 200
Status
AC × 2
AC × 12
AC × 25
TLE × 2
Set Name Test Cases
sample sample-01.txt, sample-02.txt
dataset1 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt
dataset2 sample-01.txt, sample-02.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt, 02-09.txt, 02-10.txt, 02-11.txt, 02-12.txt, 02-13.txt, sample-01.txt, sample-02.txt
Case Name Status Exec Time Memory
01-01.txt AC 2 ms 2560 KB
01-02.txt AC 3 ms 2688 KB
01-03.txt AC 2 ms 2688 KB
01-04.txt AC 3 ms 2688 KB
01-05.txt AC 3 ms 2688 KB
01-06.txt AC 3 ms 2688 KB
01-07.txt AC 3 ms 2688 KB
01-08.txt AC 3 ms 2688 KB
01-09.txt AC 3 ms 2688 KB
01-10.txt AC 3 ms 2688 KB
02-01.txt AC 31 ms 9972 KB
02-02.txt AC 37 ms 8820 KB
02-03.txt AC 34 ms 10484 KB
02-04.txt AC 31 ms 7028 KB
02-05.txt AC 38 ms 8820 KB
02-06.txt AC 31 ms 7028 KB
02-07.txt AC 36 ms 6772 KB
02-08.txt AC 28 ms 9076 KB
02-09.txt AC 32 ms 11380 KB
02-10.txt TLE 2104 ms 8692 KB
02-11.txt TLE 2104 ms 9204 KB
02-12.txt AC 360 ms 6132 KB
02-13.txt AC 360 ms 7668 KB
sample-01.txt AC 2 ms 2560 KB
sample-02.txt AC 2 ms 2560 KB