Submission #571820

# Submission time Handle Problem Language Result Execution time Memory
571820 2022-06-02T19:32:59 Z beaconmc Horses (IOI15_horses) C++14
Compilation error
0 ms 0 KB
#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]);
	}
	return maxi;
}

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;
}

Compilation message

horses.cpp:37:11: error: macro "FOR" requires 3 arguments, but only 2 given
   37 |  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:46:11: error: macro "FOR" requires 3 arguments, but only 2 given
   46 |  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:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   27 |  return maxi;
      |         ^~~~
horses.cpp: In function 'int updateX(int, int)':
horses.cpp:37:2: error: 'FOR' was not declared in this scope
   37 |  FOR(i,0 n){
      |  ^~~
horses.cpp:40:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   40 |  return maxi;
      |         ^~~~
horses.cpp: In function 'int updateY(int, int)':
horses.cpp:46:2: error: 'FOR' was not declared in this scope
   46 |  FOR(i,0 n){
      |  ^~~
horses.cpp:49:9: warning: conversion from 'll' {aka 'long long int'} to 'int' may change value [-Wconversion]
   49 |  return maxi;
      |         ^~~~