In this HackerRank Preprocessor solution problem in the c++ programming language, you need to add the preprocessor macros necessary to make the code work.
HackerRank Preprocessor solution problem c++ programming.
/* Enter your macros here */ #define INF (unsigned)!((int)0) #define FUNCTION(name,operator) inline void name(int ¤t, int candidate) {!(current operator candidate) ? current = candidate : false;} #define io(v) cin>>v #define toStr(str) #str #define foreach(v, i) for (int i = 0; i < v.size(); ++i) #include <iostream> #include <vector> using namespace std; #if !defined toStr || !defined io || !defined FUNCTION || !defined INF #error Missing preprocessor definitions #endif FUNCTION(minimum, <) FUNCTION(maximum, >) int main(){ int n; cin >> n; vector<int> v(n); foreach(v, i) { io(v)[i]; } int mn = INF; int mx = -INF; foreach(v, i) { minimum(mn, v[i]); maximum(mx, v[i]); } int ans = mx - mn; cout << toStr(Result =) <<' '<< ans; return 0; }
Second solution
// Sample solution #define toStr(x) #x #define io(s) cin >> s #define foreach(list, index) for(int index = 0; index < list.size(); index++) #define FUNCTION(name, op) void name(int &x, int y){ if(!(x op y)) x = y; } #define INF 1e9 /* Locked from here down --------------------------------------------------------- */ #include <iostream> #include <vector> using namespace std; #if !defined toStr || !defined io || !defined FUNCTION || !defined INF #error Missing preprocessor definitions #endif FUNCTION(minimum, <) FUNCTION(maximum, >) int main(){ int n; cin >> n; vector<int> v(n); foreach(v, i) { io(v)[i]; } int mn = INF; int mx = -INF; foreach(v, i) { minimum(mn, v[i]); maximum(mx, v[i]); } int ans = mx - mn; cout << toStr(Result =) <<' '<< ans; }
0 Comments