제출 #1233791

#제출 시각아이디문제언어결과실행 시간메모리
1233791veehjVision Program (IOI19_vision)C++17
0 / 100
44 ms9880 KiB
#include "vision.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define fi first
#define se second
#define pb push_back
#define sz(a) (ll) a.size()
#define all(x) (x).begin(), (x).end()
#define rep(i, a, b) for(ll i=(ll)(a); i<(ll)(b); i++)
#define rrep(i, a, b) for(ll i=(ll)(a); i>=(ll)(b); i--)
#define vl vector<ll>
#define vpll vector<pair<ll, ll>>
#define vvl vector<vector<ll>>
#define pll pair<ll, ll>

void construct_network(int h, int w, int k) {
  vpll v;
  for(int rw=0; rw<=k; rw++){
    for(int currh=0; currh+(k-rw)<h; currh++){
      for(int currw=0; currw+rw<w; currw++){
        pll pr;
        pr={currh*w+currw, (currh+(k-rw))*w+(currw+rw)};
        v.pb(pr);
        swap(pr.fi, pr.se);
        v.pb(pr);
        pr={(currh+(k-rw))*w+currw, currh*w+(currw+rw)};
        v.pb(pr);
        swap(pr.fi, pr.se);
        v.pb(pr);
      }
    }
  }
  vector<int> Ns;
  ll l=0, r=sz(v);
  while(l!=r){
    ll mid=(l+r)>>1;
    Ns={};
    rep(i, l, mid+1){
      Ns.pb(v[i].fi);
      Ns.pb(v[i].se);
    }
    int ret=add_or(Ns);
    if(ret)r=mid;
    else l=mid+1;
  }
  Ns={v[l].fi, v[l].se};
  add_and(Ns);
}

컴파일 시 표준 에러 (stderr) 메시지

vision.cpp: In function 'void construct_network(int, int, int)':
vision.cpp:5:12: warning: narrowing conversion of 'v.std::vector<std::pair<long long int, long long int> >::operator[](((std::vector<std::pair<long long int, long long int> >::size_type)l)).std::pair<long long int, long long int>::first' from 'long long int' to 'int' [-Wnarrowing]
    5 | #define fi first
vision.cpp:47:12: note: in expansion of macro 'fi'
   47 |   Ns={v[l].fi, v[l].se};
      |            ^~
vision.cpp:5:12: warning: narrowing conversion of 'v.std::vector<std::pair<long long int, long long int> >::operator[](((std::vector<std::pair<long long int, long long int> >::size_type)l)).std::pair<long long int, long long int>::first' from 'long long int' to 'int' [-Wnarrowing]
    5 | #define fi first
vision.cpp:47:12: note: in expansion of macro 'fi'
   47 |   Ns={v[l].fi, v[l].se};
      |            ^~
vision.cpp:6:12: warning: narrowing conversion of 'v.std::vector<std::pair<long long int, long long int> >::operator[](((std::vector<std::pair<long long int, long long int> >::size_type)l)).std::pair<long long int, long long int>::second' from 'long long int' to 'int' [-Wnarrowing]
    6 | #define se second
vision.cpp:47:21: note: in expansion of macro 'se'
   47 |   Ns={v[l].fi, v[l].se};
      |                     ^~
vision.cpp:6:12: warning: narrowing conversion of 'v.std::vector<std::pair<long long int, long long int> >::operator[](((std::vector<std::pair<long long int, long long int> >::size_type)l)).std::pair<long long int, long long int>::second' from 'long long int' to 'int' [-Wnarrowing]
    6 | #define se second
vision.cpp:47:21: note: in expansion of macro 'se'
   47 |   Ns={v[l].fi, v[l].se};
      |                     ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...