Submission #1068235

#TimeUsernameProblemLanguageResultExecution timeMemory
1068235UnforgettableplCatfish Farm (IOI22_fish)C++17
3 / 100
85 ms18244 KiB
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;

long long max_weights(int N, int M,vector<int> X,vector<int> Y,
                      vector<int> W){
    if(N==2){
        long long a = 0;
        long long b = 0;
        for(int i=0;i<X.size();i++) {
            if(X[i]&1)b+=W[i];
            else a+=W[i];
        }
        return max(a,b);
    }
    vector<pair<int,int>> pointsa,pointsb;
    long long sum = 0;
    for(int i=0;i<X.size();i++) {
        if(X[i]&1) {
            pointsb.emplace_back(Y[i],W[i]);
            sum+=W[i];
        } else pointsa.emplace_back(Y[i],W[i]);
    }
    sort(pointsa.begin(), pointsa.end());
    sort(pointsb.begin(), pointsb.end());
    pointsb.emplace_back(N+1,0);
    long long ans = 0;
    auto iter = pointsa.begin();
    for(auto&[ht,wt]:pointsb) {
        while(iter!=pointsa.end() and iter->first<ht)sum+=(iter++)->second;
        ans = max(ans,sum);
        ans-=wt;
    }
    return ans;
}

Compilation message (stderr)

fish.cpp: In function 'long long int max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
fish.cpp:10:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   10 |         for(int i=0;i<X.size();i++) {
      |                     ~^~~~~~~~~
fish.cpp:18:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   18 |     for(int i=0;i<X.size();i++) {
      |                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...