답안 #548332

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
548332 2022-04-13T04:18:18 Z ToroTN 자매 도시 (APIO20_swap) C++14
0 / 100
2000 ms 14028 KB
#include<bits/stdc++.h>
using namespace std;
#include "swap.h"
#define X first
#define Y second
#define pb push_back

#include <vector>
int n,m,dg[100005],u_i,v_i,w_i,x,y,type=-1,flag=-1;
int node,w,deter;
vector<pair<int,int> > g[100005],subtask2;
vector<pair<int,pair<int,int> > > v;

void init(int N, int M,
          std::vector<int> U, std::vector<int> V, std::vector<int> W)
{
    n=N;
    m=M;
    for(int i=0;i<m;i++)
    {
        u_i=U[i]+1;
        v_i=V[i]+1;
        w_i=W[i];
        g[u_i].pb({v_i,w_i});
        g[v_i].pb({u_i,w_i});
        ++dg[u_i];
        ++dg[v_i];
        v.push_back({w_i,{u_i,v_i}});
        if(u_i!=1)flag=0;
    }
    sort(v.begin(),v.end());
    for(int i=1;i<=n;i++)
    {
        if(dg[i]>2)
        {
            type=0;
        }
    }
    if(m==n-1&&flag==-1)
    {
        for(int i=2;i<=n;i++)
        {
            node=i;
            w=g[i][0].Y;
            subtask2.pb({w,node});
        }
        sort(subtask2.begin(),subtask2.end());
    }
}

int getMinimumFuelCapacity(int X, int Y)
{
    x=X+1;
    y=Y+1;
    if(type==-1)
    {
        deter=0;
        for(int i=1;i<=n;i++)if(dg[i]!=2)deter=-1;
        if(deter==0)return v[v.size()-1].X;
        return -1;
    }
    if(m==n-1&&flag==-1)
    {
        if(x==1||y==1)return -1;
        if(n<=3)return -1;
        if(x==subtask2[0].Y&&y==subtask2[1].Y||x==subtask2[1].Y&&y==subtask2[0].Y)
        {
            return subtask2[2].X;
        }
        return max(g[x][0].Y,g[y][0].Y);
    }
}

Compilation message

swap.cpp: In function 'int getMinimumFuelCapacity(int, int)':
swap.cpp:66:28: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
   66 |         if(x==subtask2[0].Y&&y==subtask2[1].Y||x==subtask2[1].Y&&y==subtask2[0].Y)
      |                            ^
swap.cpp:72:1: warning: control reaches end of non-void function [-Wreturn-type]
   72 | }
      | ^
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2644 KB Output is correct
2 Correct 1 ms 2644 KB Output is correct
3 Correct 1 ms 2644 KB Output is correct
4 Correct 3 ms 2644 KB Output is correct
5 Correct 2 ms 2644 KB Output is correct
6 Correct 2 ms 2644 KB Output is correct
7 Correct 3 ms 2644 KB Output is correct
8 Correct 3 ms 2644 KB Output is correct
9 Correct 45 ms 8748 KB Output is correct
10 Correct 51 ms 9492 KB Output is correct
11 Correct 52 ms 9464 KB Output is correct
12 Correct 57 ms 9644 KB Output is correct
13 Correct 63 ms 9824 KB Output is correct
14 Correct 890 ms 8836 KB Output is correct
15 Execution timed out 2074 ms 11012 KB Time limit exceeded
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2644 KB Output is correct
2 Correct 1 ms 2644 KB Output is correct
3 Incorrect 106 ms 14028 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2644 KB Output is correct
2 Correct 1 ms 2644 KB Output is correct
3 Correct 1 ms 2644 KB Output is correct
4 Correct 3 ms 2644 KB Output is correct
5 Correct 2 ms 2644 KB Output is correct
6 Correct 2 ms 2644 KB Output is correct
7 Correct 3 ms 2644 KB Output is correct
8 Correct 3 ms 2644 KB Output is correct
9 Runtime error 4 ms 5076 KB Execution killed with signal 11
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 4 ms 5076 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 2644 KB Output is correct
2 Correct 1 ms 2644 KB Output is correct
3 Correct 1 ms 2644 KB Output is correct
4 Correct 3 ms 2644 KB Output is correct
5 Correct 2 ms 2644 KB Output is correct
6 Correct 2 ms 2644 KB Output is correct
7 Correct 3 ms 2644 KB Output is correct
8 Correct 3 ms 2644 KB Output is correct
9 Correct 45 ms 8748 KB Output is correct
10 Correct 51 ms 9492 KB Output is correct
11 Correct 52 ms 9464 KB Output is correct
12 Correct 57 ms 9644 KB Output is correct
13 Correct 63 ms 9824 KB Output is correct
14 Correct 890 ms 8836 KB Output is correct
15 Execution timed out 2074 ms 11012 KB Time limit exceeded
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 4 ms 5076 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -