답안 #829607

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
829607 2023-08-18T13:19:07 Z tolbi 철인 이종 경기 (APIO18_duathlon) C++17
0 / 100
1000 ms 1048576 KB
#pragma optimize("Bismillahirrahmanirrahim")
//█▀█─█──█──█▀█─█─█
//█▄█─█──█──█▄█─█■█
//█─█─█▄─█▄─█─█─█─█
//Allahuekber
//ahmet23 orz...
//FatihSultanMehmedHan
//YavuzSultanSelimHan
//AbdulhamidHan
//Sani buyuk Osman Pasa Plevneden cikmam diyor
#define author tolbi
#include <bits/stdc++.h>
using namespace std;
#define deci(x) int x;cin>>x;
#define decstr(x) string x;cin>>x;
#define sortarr(x) sort(x.begin(), x.end())
#define sortrarr(x) sort(x.rbegin(), x.rend())
#define rev(x) reverse(x.begin(), x.end())
#define cinarr(x) for (auto &it : x) cin>>it;
#define coutarr(x) for (auto &it : x) cout<<it<<" ";cout<<endl;
#define tol(bi) (1LL<<((int)(bi)))
#define endl '\n'
#define int long long
mt19937 ayahya(chrono::high_resolution_clock().now().time_since_epoch().count());
int32_t main(){
	int T = 1;
	int tno = 0;
	while (T-(tno++)){
        deci(n);deci(m);
        vector<vector<int>> arr(n);
        for (int i = 0; i < m; ++i)
        {
            deci(u);deci(v);
            arr[u-1].push_back(v-1);
            arr[v-1].push_back(u-1);
        }
        vector<int> subsz(n);
        auto f = [&](int node, int lnode, auto f)->void{
            subsz[node]=1;
            for (int i = 0; i < arr[node].size(); i++){
                if (arr[node][i]==lnode) continue;
                f(arr[node][i],node,f);
                subsz[node]+=subsz[arr[node][i]];
            }
        };
        f(0,-1,f);
        coutarr(subsz);
        int ans = 0;
        int crr = 0;
        for (int node = 0; node < n; node++){
            crr=n-subsz[node];
            for (int i = 0; i < arr[node].size(); i++){
                if (subsz[arr[node][i]]>subsz[node]) continue;
                ans+=crr*subsz[arr[node][i]];
                crr+=subsz[arr[node][i]];
            }
        }
        cout<<ans*2<<endl;
	}
}

Compilation message

count_triplets.cpp:1: warning: ignoring '#pragma optimize ' [-Wunknown-pragmas]
    1 | #pragma optimize("Bismillahirrahmanirrahim")
      | 
count_triplets.cpp: In function 'int32_t main()':
count_triplets.cpp:52:31: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |             for (int i = 0; i < arr[node].size(); i++){
      |                             ~~^~~~~~~~~~~~~~~~~~
count_triplets.cpp: In instantiation of 'main()::<lambda(long long int, long long int, auto:23)> [with auto:23 = main()::<lambda(long long int, long long int, auto:23)>]':
count_triplets.cpp:46:17:   required from here
count_triplets.cpp:40:31: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |             for (int i = 0; i < arr[node].size(); i++){
      |                             ~~^~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 510 ms 1048576 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 510 ms 1048576 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1075 ms 495276 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 73 ms 8536 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 71 ms 8556 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 510 ms 1048576 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 510 ms 1048576 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -