Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.67 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #ifdef SG
  5.     #include <debug.h>
  6. #else
  7.     template<typename T> struct outputer;
  8.     struct outputable {};
  9.     #define PRINT(...)
  10.     #define OUTPUT(...)
  11.     #define show(...)
  12.     #define debug(...)
  13.     #define deepen(...)
  14.     #define timer(...)
  15.     #define fbegin(...)
  16.     #define fend
  17.     #define pbegin(...)
  18.     #define pend
  19. #endif
  20.  
  21. #define ARG4(_1,_2,_3,_4,...) _4
  22.  
  23. #define forn3(i,l,r) for (int i = int(l); i < int(r); ++i)
  24. #define forn2(i,n) forn3 (i, 0, n)
  25. #define forn(...) ARG4(__VA_ARGS__, forn3, forn2) (__VA_ARGS__)
  26.  
  27. #define ford3(i,l,r) for (int i = int(r) - 1; i >= int(l); --i)
  28. #define ford2(i,n) ford3 (i, 0, n)
  29. #define ford(...) ARG4(__VA_ARGS__, ford3, ford2) (__VA_ARGS__)
  30.  
  31. #define ve vector
  32. #define pa pair
  33. #define tu tuple
  34. #define mp make_pair
  35. #define mt make_tuple
  36. #define pb emplace_back
  37. #define fs first
  38. #define sc second
  39. #define all(a) (a).begin(), (a).end()
  40. #define sz(a) ((int)(a).size())
  41.  
  42. typedef long double ld;
  43. typedef int64_t ll;
  44. typedef uint64_t ull;
  45. typedef uint32_t ui;
  46. typedef uint16_t us;
  47. typedef uint8_t uc;
  48. typedef pa<int, int> pii;
  49. typedef pa<int, ll> pil;
  50. typedef pa<ll, int> pli;
  51. typedef pa<ll, ll> pll;
  52. typedef ve<int> vi;
  53.  
  54. template<typename T> inline auto sqr (T x) -> decltype(x * x) {return x * x;}
  55. template<typename T1, typename T2> inline bool umx (T1& a, T2 b) {if (a < b) {a = b; return 1;} return 0;}
  56. template<typename T1, typename T2> inline bool umn (T1& a, T2 b) {if (b < a) {a = b; return 1;} return 0;}
  57.  
  58. struct Input {
  59.     int v, e, r, c, x;
  60.    
  61.     vi s;
  62.    
  63.     vi ld;
  64.     ve<ve<pii>> lc;
  65.    
  66.     vi rv, re, rn;
  67.    
  68.     void read () {
  69.         cin >> v >> e >> r >> c >> x;
  70.        
  71.         s.resize(v);
  72.         forn (i, v) {
  73.             cin >> s[i];
  74.         }
  75.        
  76.         ld.resize(e);
  77.         lc.resize(e);
  78.         forn (i, e) {
  79.             int k;
  80.             cin >> ld[i] >> k;
  81.             lc[i].resize(k);
  82.             forn (j, k) {
  83.                 cin >> lc[i][j].fs >> lc[i][j].sc;
  84.             }
  85.         }
  86.        
  87.         rv.resize(r);
  88.         re.resize(r);
  89.         rn.resize(r);
  90.         forn (i, r) {
  91.             cin >> rv[i] >> re[i] >> rn[i];
  92.         }
  93.     }
  94.  
  95.     void init (const Input &input) {
  96.         *this = input;
  97.     }
  98. };
  99.  
  100. struct Output {
  101.     ve<vi> a;
  102.    
  103.     void write () {
  104.         int cnt = 0;
  105.         forn (i, sz(a)) {
  106.             if (sz(a[i])) {
  107.                 ++cnt;
  108.             }
  109.         }
  110.        
  111.         cout << cnt << endl;
  112.         forn (i, sz(a)) {
  113.             if (sz(a[i])) {
  114.                 cout << i;
  115.                 forn (j, sz(a[i])) {
  116.                     cout << ' ' << a[i][j];
  117.                 }
  118.             }
  119.         }
  120.     }
  121. };
  122.  
  123. bool check (const Input &in, const Output &out) {
  124.     if (sz(out.a) != in.c) {
  125.         return 0;
  126.     }
  127.    
  128.     forn (i, in.c) {
  129.         vi v = out.a[i];
  130.         sort(all(v));
  131.         if (unique(all(v)) != v.end()) {
  132.             return false;
  133.         }
  134.         int sum = 0;
  135.         forn (i, sz(v)) {
  136.             sum += in.s[v[i]];
  137.         }
  138.     }
  139.    
  140.     return 1;
  141. }
  142.  
  143. int main () {
  144.    
  145.     return 0;
  146. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement