Submission #414932

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
4149322021-05-31 10:45:00Pro_ktmrMeetings (JOI19_meetings)C++17
100 / 100
895 ms2276 KiB
#include "meetings.h"
#include "bits/stdc++.h"
#include <unordered_set>
#include <unordered_map>
#include <random>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
constexpr ll MOD = 1'000'000'007LL; /*998'244'353LL;*/
#define pb push_back
#define mp make_pair
#define all(x) (x).begin(), (x).end()
#define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
template<class T> bool chmax(T &a, const T &b){ if(a<b){ a=b; return 1; } return 0; }
template<class T> bool chmin(T &a, const T &b){ if(b<a){ a=b; return 1; } return 0; }
constexpr int dy[4]={ -1,0,1,0 };
constexpr int dx[4]={ 0,-1,0,1 };
namespace{
map<pair<pair<int,int>,int>,int> memo;
int query(int u, int v, int w){
if(u > v) swap(u, v);
if(v > w) swap(v, w);
if(u > v) swap(u, v);
if(u == v) return v;
if(v == w) return v;
if(memo.count({{u,v},w})) return memo[{{u,v},w}];
return memo[{{u,v},w}] = Query(u, v, w);
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

meetings.cpp: In function 'int {anonymous}::CentroidDecomposition(int, int)':
meetings.cpp:14:27: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                           ^
meetings.cpp:37:9: note: in expansion of macro 'rep'
   37 |         rep(i, e[n].size()){
      |         ^~~
meetings.cpp:14:37: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                                  ~~~^~~~
meetings.cpp:37:9: note: in expansion of macro 'rep'
   37 |         rep(i, e[n].size()){
      |         ^~~
meetings.cpp: In function 'int {anonymous}::size(int, int)':
meetings.cpp:14:27: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                           ^
meetings.cpp:49:9: note: in expansion of macro 'rep'
   49 |         rep(i, e[n].size()){
      |         ^~~
meetings.cpp:14:37: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                                  ~~~^~~~
meetings.cpp:49:9: note: in expansion of macro 'rep'
   49 |         rep(i, e[n].size()){
      |         ^~~
meetings.cpp: In function 'void {anonymous}::fill(int, int)':
meetings.cpp:14:27: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                           ^
meetings.cpp:58:9: note: in expansion of macro 'rep'
   58 |         rep(i, e[n].size()){
      |         ^~~
meetings.cpp:14:37: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                                  ~~~^~~~
meetings.cpp:58:9: note: in expansion of macro 'rep'
   58 |         rep(i, e[n].size()){
      |         ^~~
meetings.cpp: In function 'void {anonymous}::erase(std::vector<int>&, int)':
meetings.cpp:14:27: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                           ^
meetings.cpp:64:9: note: in expansion of macro 'rep'
   64 |         rep(i, v.size()){
      |         ^~~
meetings.cpp:14:37: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                                  ~~~^~~~
meetings.cpp:64:9: note: in expansion of macro 'rep'
   64 |         rep(i, v.size()){
      |         ^~~
meetings.cpp: In function 'void Solve(int)':
meetings.cpp:14:27: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                           ^
meetings.cpp:75:5: note: in expansion of macro 'rep'
   75 |     rep(i, N) v.pb(i);
      |     ^~~
meetings.cpp:14:27: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                           ^
meetings.cpp:92:13: note: in expansion of macro 'rep'
   92 |             rep(j, e[u].size()){
      |             ^~~
meetings.cpp:14:37: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                                  ~~~^~~~
meetings.cpp:92:13: note: in expansion of macro 'rep'
   92 |             rep(j, e[u].size()){
      |             ^~~
meetings.cpp:104:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  104 |             for(int j=0; j<tmp.size(); j+=2){
      |                          ~^~~~~~~~~~~
meetings.cpp:105:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  105 |                 if(j+1 == tmp.size()){
      |                    ~~~~^~~~~~~~~~~~~
meetings.cpp:133:45: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  133 |                             for(int k=i+1; k<v.size(); k++){
      |                                            ~^~~~~~~~~
meetings.cpp:196:45: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  196 |                             for(int k=i+1; k<v.size(); k++){
      |                                            ~^~~~~~~~~
meetings.cpp:14:27: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                           ^
meetings.cpp:232:5: note: in expansion of macro 'rep'
  232 |     rep(i, N){
      |     ^~~
meetings.cpp:14:27: warning: unnecessary parentheses in declaration of 'j' [-Wparentheses]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                           ^
meetings.cpp:233:9: note: in expansion of macro 'rep'
  233 |         rep(j, e[i].size()){
      |         ^~~
meetings.cpp:14:37: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                                  ~~~^~~~
meetings.cpp:233:9: note: in expansion of macro 'rep'
  233 |         rep(j, e[i].size()){
      |         ^~~
meetings.cpp:14:27: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
   14 | #define rep(i, n) for(int (i)=0; (i)<(n); (i)++)
      |                           ^
meetings.cpp:239:5: note: in expansion of macro 'rep'
  239 |     rep(i, N-1){
      |     ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...