제출 #710545

#제출 시각아이디문제언어결과실행 시간메모리
710545baojiaopisuGap (APIO16_gap)C++14
컴파일 에러
0 ms0 KiB
#include "gap.h" #include<bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; using ull = unsigned long long; using pii = pair<int, int>; using pll = pair<ll, ll>; using pld = pair<ld, ld>; #define fi first #define se second #define left BAO #define right ANH #define pb push_back #define pf push_front #define mp make_pair #define ins insert #define btpc __builtin_popcount #define btclz __builtin_clz #define sz(x) (int)(x.size()); #define all(x) x.begin(), x.end() #define debug(...) " [" << #__VA_ARGS__ ": " << (__VA_ARGS__) << "] " mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int d4x[4] = {1, 0, -1, 0}; int d4y[4] = {0, 1, 0, -1}; int d8x[8] = {0, 1, 1, 1, 0, -1, -1, -1}; int d8y[8] = {1, 1, 0, -1, -1, -1, 0, 1}; template<class X, class Y> bool minimize(X &x, const Y &y) { if (x > y) { x = y; return true; } return false; } template<class X, class Y> bool maximize(X &x, const Y &y) { if (x < y) { x = y; return true; } return false; } const int MOD = 1e9 + 7; //998244353 template<class X, class Y> void add(X &x, const Y &y) { x = (x + y); if(x >= MOD) x -= MOD; } template<class X, class Y> void sub(X &x, const Y &y) { x = (x - y); if(x < 0) x += MOD; } /* Author : Le Ngoc Bao Anh, 12A5, LQD High School for Gifted Student*/ const ll INF = 1e18; const int N = 1e5 + 10; void MinMax(ll s, ll t, ll &mn, ll &mx) { cout << s << " " << t << endl; cin >> mn >> mx; } ll findGap(int n, int t) { if(t == 1) { ll a, b; set<ll> num; MinMax(0, INF, &a, &b); num.ins(a); num.ins(b); int cnt = 2; while(cnt < n) { ll s, t; MinMax(a + 1, b - 1, &s, &t); num.ins(s); num.int(t); cnt += 2; a = s; b = t; } vector<ll> c = num; sort(all(c)); ll ans = 0; for(int i = 0; i + 1 < c.size(); i++) { maximize(ans, c[i + 1] - c[i]); } return ans; } ll a, b; MinMax(0, INF, &a, &b); ll d = (b - a - 1) / (n - 1); ll c = (b - a - 1) % n; ll l = a + 1; ll ans = 0, last = a; for(int i = 1; i <= n; i++) { ll r = l + d + (i <= c) - 1; ll s, t; MinMax(l, r, &s, &t); if(s == -1) continue; maximize(ans, s - last); last = t; l = r + 1; } maximize(ans, b - last); return ans; };

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

gap.cpp: In function 'll findGap(int, int)':
gap.cpp:89:8: error: expected unqualified-id before 'int'
   89 |    num.int(t);
      |        ^~~
gap.cpp:95:18: error: conversion from 'std::set<long long int>' to non-scalar type 'std::vector<long long int>' requested
   95 |   vector<ll> c = num;
      |                  ^~~
gap.cpp:98:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   98 |   for(int i = 0; i + 1 < c.size(); i++) {
      |                  ~~~~~~^~~~~~~~~~