Code Submission Evaluation System Login

NOI 2019 Open

Start:N/A
End:N/A
 

Tasks | Scoreboard | Statistics


CSES - NOI 2019 Open - Results
History
2:38:40100
Task:Distance Code
Sender:Jatana
Submission time:2019-03-09 21:35:46
Language:C++
Status:READY
Score:100

Feedback

groupverdictscore
#1ACCEPTED21
#2ACCEPTED47
#3ACCEPTED32

Test results

testverdicttime (s)group
#1ACCEPTED0.02 / 1.001, 2, 3details
#2ACCEPTED0.02 / 1.001, 2, 3details
#3ACCEPTED0.02 / 1.001, 2, 3details
#4ACCEPTED0.02 / 1.001, 2, 3details
#5ACCEPTED0.02 / 1.001, 2, 3details
#6ACCEPTED0.01 / 1.001, 2, 3details
#7ACCEPTED0.03 / 1.001, 2, 3details
#8ACCEPTED0.02 / 1.001, 2, 3details
#9ACCEPTED0.01 / 1.001, 2, 3details
#10ACCEPTED0.02 / 1.001, 2, 3details
#11ACCEPTED0.02 / 1.001, 2, 3details
#12ACCEPTED0.01 / 1.002, 3details
#13ACCEPTED0.02 / 1.002, 3details
#14ACCEPTED0.02 / 1.002, 3details
#15ACCEPTED0.02 / 1.002, 3details
#16ACCEPTED0.07 / 1.003details
#17ACCEPTED0.06 / 1.003details
#18ACCEPTED0.07 / 1.003details
#19ACCEPTED0.07 / 1.003details
#20ACCEPTED0.01 / 1.001, 2, 3details

Compiler report

input/code.cpp: In instantiation of 'void fast_print(const std::vector<_Tp>&) [with T = int]':
input/code.cpp:244:12:   required from 'std::ostream& operator,(std::ostream&, const T&) [with T = std::vector<int>; std::ostream = std::basic_ostream<char>]'
input/code.cpp:306:8:   required from here
input/code.cpp:181:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 1; i < v.size(); i++) {
input/code.cpp: In function 'void fast_scan(int&)':
input/code.cpp:133:31: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 void fast_scan(int &x) { scanf("%d", &x); }
                          ~~~~~^~~~~~~~~~
input/code.cpp: In function 'void fast_scan(long long int&)':
input/code.cpp:134:37: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 void fast_scan(long long &x) { scanf("%lld", &x); }
                                ~~~~~^~~~~~~~~~~~
input/code.cpp: In function 'void fast_scan(long long unsigned int&)':
input/code.cpp:135:46: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 void fast_scan(unsigned long long &x) { scanf("%llu", &x); }
                                         ~~~~~^~~~~~~~~~~~
input/code.cpp: In function 'void fast_scan(double&)':
input/code.cpp:136:34: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 void fast_scan(double &x) { scanf("%lf", &x); }
                             ~~~~~^~~~~~~~~~~
input/code.cpp: In function 'void fast_scan(long double&)':
input/code.cpp:137:39: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
 void fast_scan(long double &x) { scanf("%Lf", &x); }
                                  ~~~~~^~~~~~~~~~~
input/code.cpp: In function 'void fast_scan(char&)':
input/code.cpp:139:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%c", &x);
  ~~~~~^~~~~~~~~~
input/code.cpp: In function 'void fast_scan(std::__cxx11::string&)':
input/code.cpp:145:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s", string_in_buffer);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~

Code

/*
                                                                                                     
                                             `-:://:::-                                             
                                           `//:-------:/:`                                          
                                          .+:--.......--:+`                                         
                                         `+:--..`````..--//`                                        
                                         .o:--..`` ``..--:o`                                        
                                         .o:--...```..---+/`                                        
                                       `/y+o/---....---:+o.                                         
                                   `...````-os+/:---:/+o/--.`                                       
              `-/+++++/:.      `...`       :h+d+oooo+/+-`   ...                                     
            `/++//:::://++-`....`         -.`//````````:`     `..`                                  
           `o+/::------://o/`           `-` -.          -`       `..`                               
 `---.-o/:./o/::-..``..-ЗАПУСКАЕМ      ..  ..            -`        `...       ``..``                
  `....o+:-++/:--.```..-://s.        `-`  .-              -`          `-o: .-//::::/:-`             
          `:s+/:--....-::/+s-`      .-   `-                -`           -///:--------:/:`           
           ./s+//:::::://oo-``..НЕЙРОННУЮ: СЕТЬ:::::::-`РАБОТЯГИ        `+:--........--:/`          
            .:ooo+++++osso-`    `.:-...`/` ./::-------:/:`   -`         :+--..``````.--:+:...-+:-`  
             `.-/+++++/+-.-`    -.   ``:so:/:--.......--:+`  `-```````o+/+--..`````..--:o/-..:s+:.  
                 ```````:``.. `-`     -` `+:--..`````..--/+-.../.`````..-o:--.......---/o.    `     
                        `:  `:-      -.  .o:--..`` ``..--:o`   `-`      `:o+:--------:+o-`          
                         `-`-...    ..   .o/--...```..--:+/`    `-`     `oy/so/////++o/.`           
                          -/`  `-` `- ``+s/o/:---...---:++.      `-`   .-../d://///:-.`             
                `.---..``-..-    .-/..`````-oo+/:::::/+o+-        `-``-`  `-.  ````                 
             `:++++/+++++-  ..``.-/:`      /y-:/++o++/:.`..`       ./.   `-                         
            -++/::::::://+/..:-``:` ..   `-.`  ```.```    `..`   `..`-` `-                          
       ``  -o//:--....-::/++` -.-`   `-`.-`                 `..`..`  `-.-                           
  -----ss+:++/:--.```..-://s.  /.     `::                    `-:.     ./`                           
  `````/:..+o/::-..``.--:/+s. ..-`   `-``-`                 ..` `-`  `-`-`                          
          `-s+/::-----::/+oo---``-` ..    .:-    ```      .-`     .-.-  `-`                         
           `:oo+//::://+os/..:`..-/:`      :y.-:::::::.`.-`        ./-`  `-`                        
            `./+oooooooo+/.`-    .-:...`.. .//:-------://`        `- `..` `:.                       
              ``.-::::-.``-/`  `-` `-  `oo:+:--.......--:/`      `-    `.:--h.``..```               
                          -.-`.-    .-   `+:--..`````..--//`    `-       /s-//::::::::.             
                         -` `/-      ..  .o:--..`` ``..--:o.```.-        `//:--------://`           
                        -` .-`.-`     -.`-o/--...```..--:+/.``-:....``:-.+:--....`...--:+`          
                       ..`-.   `-.   ``:os:o/:---...---:++.  `-     ``///+:-..``````.--:+-````-.`   
              `.:///////.-`      .:-..` -``-+o+/:::::/+o/.  `-         `:+:-..`````..--:o/:--/ys+-  
            `-++///////+o/. ``....`-.    :` `.:++++++/:.`  .-           -o/---......---/o.   `.`    
           `++//:-----::/+o:..`     .-`   :    ```````    .-           `+so+:--------:++-`          
  `````:-``:o/::-..`..--:/+o`         -.  `-             .-          `../../+o+////+o+:.`           
  -----syo/o+/:--.```..-://s.          .-` `-           .-        `...     ``-:////:-``             
       .` `/s//:--....-::/+s.            -. `-`        .-       `..`                                
           .+o+/:::--:://+s/-..`          .::+y  ```  .-     `..`                                   
            ./oo++////+oso-`   `....       :y-+:::::::/`   ...                                      
             `.:+oooooo/-`         `....-. .//:-------:/:-.`                                        
                ``...``                 /+:+:--.......--:+`                                         
                                         `+:--..`````..--//`                                        
                                         .o:--..`` ``..--:o`                                        
                                         .+/--...```..--:+/`                                        
                                         `-o/:---...---:++.                                         
                                          `-+o+/:---:/+o/.                                          
                                            `.:+oooo+/-.`                                           
                                               ``````                                               
*/

#ifdef aimbot
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("unroll-loops")
#endif

#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <map>
#include <set>
#include <queue>
#include <ostream>
#include <istream>
#include <typeinfo>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <cassert>
#include <limits>
#include <fstream>
#include <array>
#include <list>
#include <bitset>
#include <functional>
#include <random>
#include <cstring>
#include <chrono>

#define random escape__from__random__aetuhoetnuhshe
#define mt make_tuple
#define x first
#define y second
#define pb push_back
#define ppb pop_back
#define mp make_pair
#define umap unordered_map
#define uset unordered_set
#define elif else if
#define len(v) ((int)v.size())
#define f(i, n) for (int i = 0; i < (n); i++)
#define rof(i, n) for (int i = ((n) - 1); i >= 0; i--) 
#define apply(v, act) for (auto &x : v) { act; }
#define log(args...) {string s = #args;deque<string> deq;\
string buf = "";int bal = 0;for (char c : s) {\
if (c == '(' || c == '[' || c == '{') {bal++;\
} else if (c == ')' || c == ']' || c == '}') {\
bal--;} else {if (bal == 0) {if (c == ',') {\
deq.pb(buf);buf = "";} else {if (c != ' ') {\
buf += c;}}}}}if (!buf.empty()) {deq.pb(buf);}\
smart_io::precall_print();smart_io::_print(deq, args);}

#define print    \
smart_io::precall_print(); \
cout,

#define scan cin,

#ifdef fast_allocator
const int MAXMEM = 200 * 1000 * 1024;
char _memory[MAXMEM];
size_t _ptr = 0;
void* operator new(size_t _x) { _ptr += _x; assert(_ptr < MAXMEM); return _memory + _ptr - _x; }
void operator delete (void*) noexcept {}
#endif

using namespace std;

char string_in_buffer[(int)260];


void fast_scan(int &x) { scanf("%d", &x); }
void fast_scan(long long &x) { scanf("%lld", &x); }
void fast_scan(unsigned long long &x) { scanf("%llu", &x); }
void fast_scan(double &x) { scanf("%lf", &x); }
void fast_scan(long double &x) { scanf("%Lf", &x); }
void fast_scan(char &x) { 
	scanf("%c", &x); 
	if (x == '\n') {
		fast_scan(x);
	}
}
void fast_scan(string &x) {
	scanf("%s", string_in_buffer);
	x = string(string_in_buffer);
}

template<class TFirst, class TSecond>
void fast_scan(pair<TFirst, TSecond> &p) {
	fast_scan(p.first);
	fast_scan(p.second);
}

template <class T>
void fast_scan(vector<T> &v) {
	for (auto &x : v) fast_scan(x);
}

void fast_print(const int &x) { printf("%d", x); }
void fast_print(const unsigned int &x) { printf("%u", x); }
void fast_print(const long long &x) { printf("%lld", x); }
void fast_print(const unsigned long long &x) { printf("%llu", x); }
void fast_print(const double &x) { printf("%.15lf", x); }
void fast_print(const long double &x) { printf("%.15Lf", x); }
void fast_print(const char &x) { printf("%c", x); };
void fast_print(const string &x) { printf("%s", x.c_str());}
void fast_print(const char v[]) { fast_print((string)v); }

template<class TFirst, class TSecond>
void fast_print(const pair<TFirst, TSecond> &p) {
	fast_print(p.first);
	fast_print(' ');
	fast_print(p.second);
}

template <class T>
void fast_print(const vector<T> &v) {
	if (v.empty()) return;
	fast_print(v[0]);
	for (int i = 1; i < v.size(); i++) {
		fast_print(' ');
		fast_print(v[i]);
	}
}

template <class T>
void fast_print(const vector<vector<T>> &v) {
	if (v.empty()) return;
	fast_print(v[0]);
	for (int i = 1; i < v.size(); i++) {
		fast_print('\n');
		fast_print(v[i]);
	}
}

template <class T>
void fast_print(const T &v) {
	for (const auto &x : v) {
		fast_print(x);
		fast_print(' ');
	}
}


using namespace std;


namespace smart_io {
	string print_start = "";
	string sep = " ";
	bool first_print = false;

	void precall_print() {
		fast_print(print_start);
		print_start = "\n";
		first_print = true;
	}

	void _print(deque<string>) {}
	template<class T, class... Args>
	void _print(deque<string> names, T elem, Args... args) {
		if (!first_print) {
			fast_print("\n");
		} else {
			first_print = false;
		}
		fast_print(names.front());
		fast_print(" = ");
		fast_print(elem);
		names.pop_front();
		_print(names, args...);
	}
} //namespace smart_io


template <class T>
ostream &operator,(ostream &os, const T &object) {
	if (!smart_io::first_print) {
		fast_print(smart_io::sep);
	} else {
		smart_io::first_print = false;
	}
	fast_print(object);
	return os;
}

template <class T>
istream &operator,(istream &is, T &object) {
	fast_scan(object);
	return is;
}

namespace random {
	using namespace std::chrono;
	mt19937 rng(duration_cast< milliseconds >(
		system_clock::now().time_since_epoch()
	).count());
	uniform_real_distribution<> prob_dist(0.0, 1.0);
};

namespace typedefs {
	typedef long long ll;
	typedef unsigned long long ull;
	typedef pair<int, int> pii;
	typedef long double ld;
}

namespace numbers_operation {
	template<class T>
	T floor_mod(T a, T b) {
		if (a >= 0 && b >= 0) return a % b;
		if (a <= 0 && b <= 0) return a % b;
		return abs(b) - (abs(a) % abs(b));
	}
}

using namespace numbers_operation;
using namespace typedefs;
using namespace random;

int n;
vector<vector<int>> g;
vector<int> order;

void dfs(int v, int _p) {
	for (int sub : g[v]) {
		if (sub == _p) continue;
		dfs(sub, v);
	}
	order.pb(v);
}

void encode() {
	scan n;
	g.resize(n);
	f(i, n - 1) {
		int a, b;
		scan a, b;
		a--;b--;
		g[a].pb(b);
		g[b].pb(a);
	}
	dfs(0, -1);
	apply(order, x++);
	print order;
}

void decode() {
	scan n;
	int nodes = 1;
	deque<int> deq{0};
	f(i, n - 1) {
		int d;
		scan d;
		if (len(deq) == 1) {
			deq.push_front(nodes++);
		}
		print deq.back() + 1, deq[len(deq) - 2] + 1;
		d--;
		deq.pop_back();
		f(i, d) {
			deq.push_back(nodes++);
		}
	}
}

signed main(signed argc, char *argv[]) {
	int t;
	scan t;
	if (t == 1) {
		encode();
	} else {
		decode();
	}
}

Test details

Test 1

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
2
2 1
view   save

correct output
(no output)
view   save

user output
1 2
view   save

Test 2

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
3
3 1
2 1
view   save

correct output
(no output)
view   save

user output
1 2
3 2
view   save

Test 3

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
4
3 2
2 1
4 1
view   save

correct output
(no output)
view   save

user output
1 2
2 3
4 3
view   save

Test 4

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
4
2 3
3 4
1 3
view   save

correct output
(no output)
view   save

user output
1 2
3 2
2 4
view   save

Test 5

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
5
3 5
4 1
1 3
4 2
view   save

correct output
(no output)
view   save

user output
1 2
2 3
5 4
4 3
view   save

Test 6

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
5
3 2
3 4
5 1
1 3
view   save

correct output
(no output)
view   save

user output
1 2
4 3
5 3
3 2
view   save

Test 7

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
5
4 3
1 4
4 2
5 4
view   save

correct output
(no output)
view   save

user output
1 2
3 2
4 2
2 5
view   save

Test 8

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
10
9 3
8 9
2 9
1 9
10 9
9 7
9 6
9 5
9 4
view   save

correct output
(no output)
view   save

user output
1 2
3 2
4 2
5 2
6 2
7 2
8 2
9 2
2 10
view   save

Test 9

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
10
9 2
5 8
7 1
6 8
4 10
9 7
10 3
3 2
1 6
view   save

correct output
(no output)
view   save

user output
1 2
2 3
3 4
4 5
5 6
6 7
10 9
9 8
8 7
view   save

Test 10

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
10
10 4
9 1
4 7
3 8
8 1
7 6
4 1
6 2
2 5
view   save

correct output
(no output)
view   save

user output
1 2
4 3
3 2
6 5
10 9
9 8
8 7
7 5
5 2
view   save

Test 11

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
10
2 6
4 3
3 5
10 6
9 2
7 5
1 8
7 8
1 2
view   save

correct output
(no output)
view   save

user output
1 2
2 3
3 4
4 5
5 6
9 8
8 7
10 7
7 6
view   save

Test 12

Group: 2, 3

Verdict: ACCEPTED

input
1
500
10 6
6 255
6 428
7 6
65 6
157 6
326 6
6 108
273 6
6 238
485 6
217 6
390 6
6 437
356 6
6 433
6 290
6 50
...
view   save

correct output
(no output)
view   save

user output
1 2
3 2
4 2
5 2
6 2
7 2
8 2
9 2
10 2
11 2
12 2
13 2
14 2
15 2
16 2
17 2
18 2
19 2
20 2
21 2
...
view   save

Test 13

Group: 2, 3

Verdict: ACCEPTED

input
1
500
152 466
451 313
158 479
445 87
403 273
328 192
464 107
126 87
291 290
333 70
405 480
433 170
316 387
462 144
123 322
35 319
434 249
120 264
...
view   save

correct output
(no output)
view   save

user output
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19
19 20
20 21
...
view   save

Test 14

Group: 2, 3

Verdict: ACCEPTED

input
1
500
109 440
330 190
443 161
206 81
236 23
390 191
262 270
385 130
287 137
267 278
107 412
244 392
425 214
348 262
312 210
229 156
351 387
338 112
...
view   save

correct output
(no output)
view   save

user output
1 2
5 4
8 7
11 10
10 9
12 9
9 7
7 6
15 14
16 14
19 18
22 21
21 20
23 20
24 20
27 26
29 28
28 26
33 32
32 31
...
view   save

Test 15

Group: 2, 3

Verdict: ACCEPTED

input
1
500
144 373
257 233
341 318
156 159
185 13
53 470
432 16
308 263
94 302
136 297
197 323
294 347
168 268
41 455
32 330
380 276
266 91
269 187
...
view   save

correct output
(no output)
view   save

user output
1 2
2 3
3 4
4 5
5 6
6 7
33 32
32 31
31 30
30 29
29 28
28 27
27 26
26 25
25 24
46 45
45 44
44 43
43 42
58 57
...
view   save

Test 16

Group: 3

Verdict: ACCEPTED

input
1
100000
54983 75172
93807 75172
44082 75172
75172 84824
75172 98997
79024 75172
55343 75172
57592 75172
75172 29633
11325 75172
75172 41154
75172 51632
75172 24616
23798 75172
84117 75172
97734 75172
26832 75172
75172 95396
...
view   save

correct output
(no output)
view   save

user output
1 2
3 2
4 2
5 2
6 2
7 2
8 2
9 2
10 2
11 2
12 2
13 2
14 2
15 2
16 2
17 2
18 2
19 2
20 2
21 2
...
view   save

Test 17

Group: 3

Verdict: ACCEPTED

input
1
100000
88863 19059
86423 76688
98536 95984
96118 70092
42041 95469
79370 3245
54063 27564
50178 11587
37240 64983
68667 83518
62102 80017
74605 76124
78320 45225
17958 95419
89371 83327
85319 7806
80909 43525
22342 32749
...
view   save

correct output
(no output)
view   save

user output
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19
19 20
20 21
...
view   save

Test 18

Group: 3

Verdict: ACCEPTED

input
1
100000
59979 6389
19097 24999
27846 82330
55283 21756
29532 76920
36672 78591
29233 30968
57832 78477
12306 933
80589 51575
39875 33992
73514 87981
87593 82747
84257 40591
14068 71832
42219 46584
67446 46486
17079 27619
...
view   save

correct output
(no output)
view   save

user output
1 2
5 4
7 6
9 8
8 6
10 6
6 4
12 11
11 4
15 14
14 13
18 17
17 16
16 13
13 4
22 21
21 20
26 25
25 24
28 27
...
view   save

Test 19

Group: 3

Verdict: ACCEPTED

input
1
100000
58761 66001
25102 51081
98625 67861
39627 96609
42728 51847
40036 50769
80361 62871
83736 23954
90511 8565
43281 75921
10718 47821
82970 98999
95998 88339
55110 1439
77175 25851
55051 6725
78592 78169
20243 17805
...
view   save

correct output
(no output)
view   save

user output
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
10 11
11 12
12 13
13 14
14 15
15 16
16 17
17 18
18 19
57 56
56 55
...
view   save

Test 20

Group: 1, 2, 3

Verdict: ACCEPTED

input
1
6
2 1
3 2
4 2
5 3
6 3
view   save

correct output
(no output)
view   save

user output
1 2
3 2
2 4
5 4
4 6
view   save