제출 #1145132

#제출 시각아이디문제언어결과실행 시간메모리
1145132saidponTrampoline (info1cup20_trampoline)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
#define nemeshay ios_base::sync_with_stdio(NULL), cin.tie(0), cout.tie(0);
#define int long long
#define sigma signed
#define pb push_back
#define fr first
#define sc second
#define pii pair<int, int>
#define double long double
#define YES cout << "YES" << endl
#define NO cout << "NO" << endl
#define Yes cout << "Yes" << endl
#define No cout << "No" << endl
#define OK cout << "OK" << endl
#define Ok cout << "Ok" << endl
#define nosolve cout << "-1" << endl
using namespace std;
const int N = 2e6 + 2, inf = 1e18 + 7, mod = 998244353;
pii a[N];
int c[N], p[N];
vector <int> pon[N];
sigma main() {
    nemeshay
    int R, C, n;
    cin >> R >> C >> n;
    map <pii, int> ladno;
    map <int, int> comp, rcomp;
    set <int> s;
    for (int i = 0; i < n; i++) {
        cin >> a[i].fr >> a[i].sc;
        pon[a[i].fr].pb(a[i].sc);
        s.insert(a[i].fr);
    }
    int compind = 0;
    for (auto j: s.size()) comp[j] = compind, rcomp[compind] = j, compind++;
    for (int i = 0; i < n; i++) pon[comp[a[i].fr]].pb(a[i].sc);
    for (int i = 0; i < compind; i++) sort (pon[i].begin(), pon[i].end());
    sort (a, a + n);
    for (int i = n - 1; i >= 0; i--) {
        ladno[{a[i].fr, a[i].sc}] = i;
        int ind = comp[a[i].fr]; 
        if (!ind) break;
        ind--;
        int up = upper_bound(pon[ind].begin(), pon[ind].end(), a[i].sc) - pon[ind].begin();
        up--;
        if (up == -1) continue;
        p[i] = ladno[{rcomp[ind], pon[ind][up]}];
    }
    p[0] = -1;
    for (int i = n - 1; i >= 0; i--) {
        if (c[i] > -1) continue;
        int x = i;
        while (x > -1) c[x] = i, x = p[x];
    }
    int q;
    cin >> q;
    while (q--) {
        int xs, ys, xf, yf;
        cin >> xs >> ys >> xf >> yf;
        if (xs == xf) {
            YES;
            continue;
        }
        xf--;
        int ind1 = lower_bound(pon[xs].begin(), pon[xs].end(), ys) - pon[xs].begin();
        if (ind1 == pon[xs].size()) {
            NO;
            continue;
        }
        int ind2 = upper_bound(pon[xf].begin(), pon[xf].end(), yf) - pon[xf].begin();
        ind2--;
        if (ind2 == -1) {
            NO;
            continue;
        }
        if (c[ladno[{xs, pon[xs][ind1]}]] == c[ladno[{xf, pon[xf][ind2]}]] || xs == xf) YES;
        else NO;
    }
}

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

trampoline.cpp: In function 'int main()':
trampoline.cpp:35:25: error: 'begin' was not declared in this scope
   35 |     for (auto j: s.size()) comp[j] = compind, rcomp[compind] = j, compind++;
      |                         ^
trampoline.cpp:35:25: note: suggested alternatives:
In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95,
                 from trampoline.cpp:1:
/usr/include/c++/11/valarray:1228:5: note:   'std::begin'
 1228 |     begin(const valarray<_Tp>& __va) noexcept
      |     ^~~~~
In file included from /usr/include/c++/11/string_view:48,
                 from /usr/include/c++/11/bits/basic_string.h:48,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from trampoline.cpp:1:
/usr/include/c++/11/bits/ranges_base.h:561:44: note:   'std::ranges::__cust::begin'
  561 |     inline constexpr __cust_access::_Begin begin{};
      |                                            ^~~~~
In file included from /usr/include/c++/11/filesystem:46,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:129,
                 from trampoline.cpp:1:
/usr/include/c++/11/bits/fs_dir.h:549:3: note:   'std::filesystem::__cxx11::begin'
  549 |   begin(recursive_directory_iterator __iter) noexcept
      |   ^~~~~
In file included from /usr/include/c++/11/bits/stl_iterator_base_types.h:71,
                 from /usr/include/c++/11/bits/stl_algobase.h:65,
                 from /usr/include/c++/11/bits/specfun.h:45,
                 from /usr/include/c++/11/cmath:1935,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41,
                 from trampoline.cpp:1:
/usr/include/c++/11/bits/iterator_concepts.h:949:10: note:   'std::ranges::__cust_access::begin'
  949 |     void begin(const auto&) = delete;
      |          ^~~~~
trampoline.cpp:35:25: error: 'end' was not declared in this scope
   35 |     for (auto j: s.size()) comp[j] = compind, rcomp[compind] = j, compind++;
      |                         ^
trampoline.cpp:35:25: note: suggested alternatives:
In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95,
                 from trampoline.cpp:1:
/usr/include/c++/11/valarray:1255:5: note:   'std::end'
 1255 |     end(const valarray<_Tp>& __va) noexcept
      |     ^~~
In file included from /usr/include/c++/11/string_view:48,
                 from /usr/include/c++/11/bits/basic_string.h:48,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from trampoline.cpp:1:
/usr/include/c++/11/bits/ranges_base.h:562:42: note:   'std::ranges::__cust::end'
  562 |     inline constexpr __cust_access::_End end{};
      |                                          ^~~
In file included from /usr/include/c++/11/filesystem:46,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:129,
                 from trampoline.cpp:1:
/usr/include/c++/11/bits/fs_dir.h:554:3: note:   'std::filesystem::__cxx11::end'
  554 |   end(recursive_directory_iterator) noexcept
      |   ^~~
In file included from /usr/include/c++/11/string_view:48,
                 from /usr/include/c++/11/bits/basic_string.h:48,
                 from /usr/include/c++/11/string:55,
                 from /usr/include/c++/11/bits/locale_classes.h:40,
                 from /usr/include/c++/11/bits/ios_base.h:41,
                 from /usr/include/c++/11/ios:42,
                 from /usr/include/c++/11/istream:38,
                 from /usr/include/c++/11/sstream:38,
                 from /usr/include/c++/11/complex:45,
                 from /usr/include/c++/11/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54,
                 from trampoline.cpp:1:
/usr/include/c++/11/bits/ranges_base.h:136:10: note:   'std::ranges::__cust_access::end'
  136 |     void end(const auto&) = delete;
      |          ^~~