Submission #1099305

# Submission time Handle Problem Language Result Execution time Memory
1099305 2024-10-11T07:03:01 Z LilPluton Art Exhibition (JOI18_art) C++14
Compilation error
0 ms 0 KB
#include <bits/stdc++.h>
using namespace std;
template<typename T> bool umax(T &res, const T &val) { if (res < val){ res = val; return true; }; return false; }
template<typename T> bool umin(T &res, const T &val) { if (res > val){ res = val; return true; }; return false; }
 
const int sz = 1e6 + 5;
#define ll long long
 
 
struct DSU{
 
    vector<int>e;
    DSU(int n){
        e.assign(n + 1, -1);
    }
    int _find(int v){
        if(e[v] < 0){
            return v;
        }
        return e[v] = _find(e[v]);
    }
    int _union(int u,int v){
        u = _find(u);
        v = _find(v);
        if(u != v){
            if(e[u] > e[v]){
                swap(u, v);
            }
            e[u] += e[v];
            e[v] = u;
            return 1;
        }
        return 0;
    }
};

void test_case(int testcase){
    int n;
    cin >> n;
    vector<pair<int,int>>a(n + 1);
    vector<int>p(n + 1, 0);
    for(int i = 1; i <= n; ++i){
        cin >> a[i].first >> a[i].second;
    }
    sort(begin(a), end(a));
    ll mx = LLONG_MIN, res = LLONG_MIN;
    for(int i = 1; i <= n;++i){
        umax(mx, a[i].first - p[i - 1]);
        p[i] = p[i - 1] + a[i].second;
        umax(res, p[i] - a[i].first + mx); 
    }
    cout << res << endl;
}
 
signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    int T = 1;
    for(int test = 1; test <= T; ++test){
        test_case(test);
    } 
}
 
/*
    
*/

Compilation message

art.cpp: In function 'void test_case(int)':
art.cpp:48:39: error: no matching function for call to 'umax(long long int&, int)'
   48 |         umax(mx, a[i].first - p[i - 1]);
      |                                       ^
art.cpp:3:27: note: candidate: 'template<class T> bool umax(T&, const T&)'
    3 | template<typename T> bool umax(T &res, const T &val) { if (res < val){ res = val; return true; }; return false; }
      |                           ^~~~
art.cpp:3:27: note:   template argument deduction/substitution failed:
art.cpp:48:39: note:   deduced conflicting types for parameter 'const T' ('long long int' and 'int')
   48 |         umax(mx, a[i].first - p[i - 1]);
      |                                       ^