제출 #571819

#제출 시각아이디문제언어결과실행 시간메모리
571819beaconmc말 (IOI15_horses)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3") typedef long long ll; #define FOR(i,x,y) for(ll i=x; i<y; i++) #define FORNEG(i,x,y) for(ll i=x; i>y; i--) #define double long double #include "horses.h" using namespace std; vector<ll> x, y; ll n; int init(int N, int X[], int Y[]) { n = N; x.push_back(X[0]); y.push_back(Y[0]); FOR(i,1,N){ x.push_back(x[i-1] * X[i]); y.push_back(Y[i]); } ll maxi = -1; FOR(i,0,N){ maxi = max(maxi, X[i] * Y[i]); } } int updateX(int pos, int val) { x[pos] = val; FOR(i,pos+1,n){ x[i] *= x[i-1]; } ll maxi = -1 FOR(i,0 n){ maxi = max(maxi, X[i] * Y[i]); } return maxi } int updateY(int pos, int val) { y[pos] = val; ll maxi = -1 FOR(i,0 n){ maxi = max(maxi, X[i] * Y[i]); } return maxi }

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

horses.cpp:36:11: error: macro "FOR" requires 3 arguments, but only 2 given
   36 |  FOR(i,0 n){
      |           ^
horses.cpp:4: note: macro "FOR" defined here
    4 | #define FOR(i,x,y) for(ll i=x; i<y; i++)
      | 
horses.cpp:45:11: error: macro "FOR" requires 3 arguments, but only 2 given
   45 |  FOR(i,0 n){
      |           ^
horses.cpp:4: note: macro "FOR" defined here
    4 | #define FOR(i,x,y) for(ll i=x; i<y; i++)
      | 
horses.cpp: In function 'int init(int, int*, int*)':
horses.cpp:25:31: error: no matching function for call to 'max(ll&, int)'
   25 |   maxi = max(maxi, X[i] * Y[i]);
      |                               ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from horses.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:254:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  254 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:254:5: note:   template argument deduction/substitution failed:
horses.cpp:25:31: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   25 |   maxi = max(maxi, X[i] * Y[i]);
      |                               ^
In file included from /usr/include/c++/10/bits/char_traits.h:39,
                 from /usr/include/c++/10/ios:40,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from horses.cpp:1:
/usr/include/c++/10/bits/stl_algobase.h:300:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  300 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algobase.h:300:5: note:   template argument deduction/substitution failed:
horses.cpp:25:31: note:   deduced conflicting types for parameter 'const _Tp' ('long long int' and 'int')
   25 |   maxi = max(maxi, X[i] * Y[i]);
      |                               ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from horses.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3480:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(std::initializer_list<_Tp>)'
 3480 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3480:5: note:   template argument deduction/substitution failed:
horses.cpp:25:31: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   25 |   maxi = max(maxi, X[i] * Y[i]);
      |                               ^
In file included from /usr/include/c++/10/algorithm:62,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from horses.cpp:1:
/usr/include/c++/10/bits/stl_algo.h:3486:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(std::initializer_list<_Tp>, _Compare)'
 3486 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/10/bits/stl_algo.h:3486:5: note:   template argument deduction/substitution failed:
horses.cpp:25:31: note:   mismatched types 'std::initializer_list<_Tp>' and 'long long int'
   25 |   maxi = max(maxi, X[i] * Y[i]);
      |                               ^
horses.cpp:27:1: warning: no return statement in function returning non-void [-Wreturn-type]
   27 | }
      | ^
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:36:2: error: expected ',' or ';' before 'FOR'
   36 |  FOR(i,0 n){
      |  ^~~
horses.cpp:39:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   39 |  return maxi
      |         ^~~~
horses.cpp:39:13: error: expected ';' before '}' token
   39 |  return maxi
      |             ^
      |             ;
   40 | }
      | ~            
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:45:2: error: expected ',' or ';' before 'FOR'
   45 |  FOR(i,0 n){
      |  ^~~
horses.cpp:48:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   48 |  return maxi
      |         ^~~~
horses.cpp:48:13: error: expected ';' before '}' token
   48 |  return maxi
      |             ^
      |             ;
   49 | }
      | ~