Submission #934025

# Submission time Handle Problem Language Result Execution time Memory
934025 2024-02-26T17:18:33 Z alo_54 Bridges (APIO19_bridges) C++14
13 / 100
3000 ms 40824 KB
#include <bits/stdc++.h>
using namespace std;

int n, m; 
int cont = 0;

int pesos[100005];
bool vis[500004];

struct Puente
{
    int v, idx;
};

vector <Puente> ady[1500004];

void ask(int curr, int peso)
{
    //vis[curr] = true;

    //cout<<curr<<".size "<< ady[curr].size()<<endl;

    for (int i = 0; i < ady[curr].size(); i++)
    {
        //cout<<"ask "<<ady[curr][i].v<<" ";
        if (vis[ady[curr][i].v] == false and pesos[ady[curr][i].idx] >= peso)
        {
            vis[ady[curr][i].v] = true;
           //// cout<<"se visita "<<ady[curr][i].v<<endl;
           // cout<<"ok"<<endl;

            cont ++;
            //cout<<"de "<<curr<<" se puede llegar a "<<ady[curr][i].v<<endl;
            ask(ady[curr][i].v, peso);

        } /*else
        {
            if (vis[ady[curr][i].v] == true)
            {
                cout<<ady[curr][i].v<<" ya visitado"<<endl;
            }else
            {
                cout<<ady[curr][i].v<<" no resiste"<<endl;;
            }
            
            
        }*/
        

        
    }

    return;
}

int main()
{
    cin>>n>>m;

    Puente nuevo1, nuevo2;
    int s1, s2, w;

    for (int i = 1; i <= m; i++)
    {
        cin>>s1>>s2>>w;

        nuevo1.v = s1;
        nuevo1.idx = i;

        nuevo2.v = s2;
        nuevo2.idx = i;

        ady[s1].push_back(nuevo2);
        ady[s2].push_back(nuevo1);

        pesos[i] = w;

    }

    int q; cin>>q;

    int t, a, b;

    for (int i = 0; i < q; i++)
    {
        cin>>t;

        if (t == 1)
        {
            cin>>a>>b;
            pesos[a] = b;

        }else
        {
            cin>>a>>b;
            fill(vis, vis + n+3, false);

            vis[a] = true;
            cont = 1;

            ask(a, b);

            cout<<cont<<"\n";
        }
        
        
    } 

}

Compilation message

bridges.cpp: In function 'void ask(int, int)':
bridges.cpp:23:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<Puente>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |     for (int i = 0; i < ady[curr].size(); i++)
      |                     ~~^~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 9 ms 35420 KB Output is correct
2 Correct 10 ms 35420 KB Output is correct
3 Correct 51 ms 35676 KB Output is correct
4 Correct 26 ms 35676 KB Output is correct
5 Correct 22 ms 35676 KB Output is correct
6 Correct 21 ms 35676 KB Output is correct
7 Correct 20 ms 35676 KB Output is correct
8 Correct 21 ms 35676 KB Output is correct
9 Correct 21 ms 35676 KB Output is correct
10 Correct 20 ms 35672 KB Output is correct
11 Correct 20 ms 35676 KB Output is correct
12 Correct 20 ms 35680 KB Output is correct
13 Correct 27 ms 35924 KB Output is correct
14 Correct 22 ms 35676 KB Output is correct
15 Correct 23 ms 35676 KB Output is correct
16 Correct 20 ms 35672 KB Output is correct
17 Correct 22 ms 35676 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 212 ms 39192 KB Output is correct
2 Correct 197 ms 39756 KB Output is correct
3 Correct 197 ms 39764 KB Output is correct
4 Correct 310 ms 40020 KB Output is correct
5 Correct 306 ms 39828 KB Output is correct
6 Execution timed out 3099 ms 40076 KB Time limit exceeded
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 781 ms 37464 KB Output is correct
2 Correct 1832 ms 36948 KB Output is correct
3 Execution timed out 3044 ms 37456 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 3058 ms 40824 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 212 ms 39192 KB Output is correct
2 Correct 197 ms 39756 KB Output is correct
3 Correct 197 ms 39764 KB Output is correct
4 Correct 310 ms 40020 KB Output is correct
5 Correct 306 ms 39828 KB Output is correct
6 Execution timed out 3099 ms 40076 KB Time limit exceeded
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 9 ms 35420 KB Output is correct
2 Correct 10 ms 35420 KB Output is correct
3 Correct 51 ms 35676 KB Output is correct
4 Correct 26 ms 35676 KB Output is correct
5 Correct 22 ms 35676 KB Output is correct
6 Correct 21 ms 35676 KB Output is correct
7 Correct 20 ms 35676 KB Output is correct
8 Correct 21 ms 35676 KB Output is correct
9 Correct 21 ms 35676 KB Output is correct
10 Correct 20 ms 35672 KB Output is correct
11 Correct 20 ms 35676 KB Output is correct
12 Correct 20 ms 35680 KB Output is correct
13 Correct 27 ms 35924 KB Output is correct
14 Correct 22 ms 35676 KB Output is correct
15 Correct 23 ms 35676 KB Output is correct
16 Correct 20 ms 35672 KB Output is correct
17 Correct 22 ms 35676 KB Output is correct
18 Correct 212 ms 39192 KB Output is correct
19 Correct 197 ms 39756 KB Output is correct
20 Correct 197 ms 39764 KB Output is correct
21 Correct 310 ms 40020 KB Output is correct
22 Correct 306 ms 39828 KB Output is correct
23 Execution timed out 3099 ms 40076 KB Time limit exceeded
24 Halted 0 ms 0 KB -