| Task: | Sadonkorjuu | 
| Sender: | FenixHongell | 
| Submission time: | 2022-11-07 11:36:35 +0200 | 
| Language: | C++ (C++17) | 
| Status: | READY | 
| Result: | 0 | 
| group | verdict | score | 
|---|---|---|
| #1 | TIME LIMIT EXCEEDED | 0 | 
| #2 | TIME LIMIT EXCEEDED | 0 | 
| test | verdict | time | group | |
|---|---|---|---|---|
| #1 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #2 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #3 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #4 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #5 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #6 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #7 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #8 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #9 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #10 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #11 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #12 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #13 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #14 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #15 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #16 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #17 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #18 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #19 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #20 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #21 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #22 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #23 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #24 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #25 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #26 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #27 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #28 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #29 | TIME LIMIT EXCEEDED | -- | 2 | details | 
| #30 | TIME LIMIT EXCEEDED | -- | 1, 2 | details | 
| #31 | TIME LIMIT EXCEEDED | -- | 2 | details | 
Compiler report
input/code.cpp: In instantiation of 'void Graph<T>::djikstraSSSP(std::vector<_Tp>, std::vector<int>&) [with T = int]':
input/code.cpp:120:19:   required from here
input/code.cpp:26:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |         while (J < srcs.size())
      |                ~~^~~~~~~~~~~~~Code
#include <iostream>
#include <string>
#include <list>
#include <vector>
#include <queue>
#include <map>
#include <set>
#include <climits>
#include <regex>
using namespace std;
template <typename T>
class Graph
{
    map<T, list<pair<T, int>>> l;
public:
    void addEdge(T x, T y, int wt)
    {
        l[x].push_back({y, wt});
        l[y].push_back({x, wt});
    }
    void djikstraSSSP(vector<T> srcs, vector<int> &scores)
    {
        int J = 0;
        while (J < srcs.size())
        {
            T src = srcs[J];
            map<T, int> dist;
            for (auto p : l)
            {
                T node = p.first;
                dist[node] = INT_MAX;
            }
            dist[src] = 0;
            set<pair<int, T>> s;
            s.insert({dist[src], src});
            while (!s.empty())
            {
                pair<int, T> p = *s.begin();
                s.erase(s.begin());
                T currNode = p.second;
                int currNodeDist = p.first;
                for (auto nbr : l[currNode])
                {
                    T nbrNode = nbr.first;
                    // int distInBetween = nbr.second;
                    // int nbrNodeDist = dist[nbrNode];
                    if (currNodeDist + nbr.second < dist[nbrNode])
                    {
                        auto pr = s.find({dist[nbrNode], nbrNode});
                        if (pr != s.end())
                        {
                            s.erase(pr);
                        }
                        dist[nbrNode] = currNodeDist + nbr.second;
                        s.insert({dist[nbrNode], nbrNode});
                    }
                }
            }
            int i = 0;
            for (auto x : dist)
            {
                if (scores[i] != -1)
                {
                    if (scores[i] > x.second)
                    {
                        scores[i] = x.second;
                    }
                }
                else
                {
                    scores[i] = x.second;
                }
                ++i;
            }
        }
    }
};
int main()
{
    Graph<int> g;
    int V = 0;
    cin >> V;
    int i = 0;
    int paths = V - 1;
    string roles;
    getline(cin >> ws, roles);
    std::regex r("\\s+");
    roles = std::regex_replace(roles, r, "");
    vector<int> scores(V, -1);
    while (i < paths)
    {
        int a, b, c;
        cin >> a >> b >> c;
        g.addEdge(a, b, c);
        ++i;
    }
    unsigned int j = 1;
    vector<int> srcs;
    while (j < roles.length() + 1)
    { 
        if (roles[j - 1] == '0')
        {
            srcs.push_back(j);
        }
        ++j;
    }
    g.djikstraSSSP(srcs, scores);
    int totalLength = 0;
    for (int num : scores)
    {
        totalLength += num;
    }
    cout << totalLength << endl;
} // TODO Move loop to inside dijkstra function not outside.Test details
Test 1
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1 0  | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| (empty) | 
Test 2
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 5 0 0 0 0 0 1 2 1 2 3 2 3 4 3 ...  | 
| correct output | 
|---|
| 0 | 
| user output | 
|---|
| (empty) | 
Test 3
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 4 1 0 1 1 1 2 10 2 3 20 2 4 30  | 
| correct output | 
|---|
| 60 | 
| user output | 
|---|
| (empty) | 
Test 4
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 5 0 1 1 1 0 1 2 10 2 3 20 3 4 30 ...  | 
| correct output | 
|---|
| 80 | 
| user output | 
|---|
| (empty) | 
Test 5
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 5 0 1 0 1 1 1 2 1 2 3 5 3 4 3 ...  | 
| correct output | 
|---|
| 6 | 
| user output | 
|---|
| (empty) | 
Test 6
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 5506363 | 
| user output | 
|---|
| (empty) | 
Test 7
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 1795118520 | 
| user output | 
|---|
| (empty) | 
Test 8
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 ...  | 
| correct output | 
|---|
| 293576 | 
| user output | 
|---|
| (empty) | 
Test 9
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 816932444 | 
| user output | 
|---|
| (empty) | 
Test 10
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 3089 | 
| user output | 
|---|
| (empty) | 
Test 11
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 40839 | 
| user output | 
|---|
| (empty) | 
Test 12
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 5683983203973 | 
| user output | 
|---|
| (empty) | 
Test 13
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 ...  | 
| correct output | 
|---|
| 58572993 | 
| user output | 
|---|
| (empty) | 
Test 14
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 32755 | 
| user output | 
|---|
| (empty) | 
Test 15
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 126238345 | 
| user output | 
|---|
| (empty) | 
Test 16
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 ...  | 
| correct output | 
|---|
| 278678 | 
| user output | 
|---|
| (empty) | 
Test 17
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 34929 | 
| user output | 
|---|
| (empty) | 
Test 18
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 1543963 | 
| user output | 
|---|
| (empty) | 
Test 19
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 39606 | 
| user output | 
|---|
| (empty) | 
Test 20
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 ...  | 
| correct output | 
|---|
| 321598 | 
| user output | 
|---|
| (empty) | 
Test 21
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 978670626 | 
| user output | 
|---|
| (empty) | 
Test 22
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...  | 
| correct output | 
|---|
| 375218 | 
| user output | 
|---|
| (empty) | 
Test 23
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 ...  | 
| correct output | 
|---|
| 60422556 | 
| user output | 
|---|
| (empty) | 
Test 24
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 291990 | 
| user output | 
|---|
| (empty) | 
Test 25
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 59607954 | 
| user output | 
|---|
| (empty) | 
Test 26
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 990 | 
| user output | 
|---|
| (empty) | 
Test 27
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 199982 | 
| user output | 
|---|
| (empty) | 
Test 28
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 7987 | 
| user output | 
|---|
| (empty) | 
Test 29
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 3137875 | 
| user output | 
|---|
| (empty) | 
Test 30
Group: 1, 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 1000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 4657693 | 
| user output | 
|---|
| (empty) | 
Test 31
Group: 2
Verdict: TIME LIMIT EXCEEDED
| input | 
|---|
| 200000 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...  | 
| correct output | 
|---|
| 1652889357 | 
| user output | 
|---|
| (empty) | 
