Submission #626828

# Submission time Handle Problem Language Result Execution time Memory
626828 2022-08-11T21:20:50 Z ionan6ix Catfish Farm (IOI22_fish) C++17
3 / 100
86 ms 7252 KB
        #include "fish.h"
    
        #include <vector>
        #include<algorithm>
        using namespace std;
    
        long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
                              std::vector<int> W) {
    
            bool flag = true;
    
            for(auto it:X)
                if(it%2)
                {
                    flag = false;
                    break;
                }
    
            if(flag)
            {
                long long sol = 0;
                for(auto it:W)
                    sol+=it;
    
                return sol;
            }
    
            flag = true;
    
            for(auto it:X)
                if(it>1)
                {
                    flag = false;
                    break;
                }
    
            if(flag)
            {
                std::vector<pair<int,int> > y0;
                std::vector<pair<int,int> > y1;
    
                int sz = X.size();
    
                for(int i=0;i<M;i++)
                    if(X[i]==0) y0.emplace_back(Y[i],W[i]);
                        else y1.emplace_back(Y[i],W[i]);
    
                std::sort(y0.begin(),y0.end());
                std::sort(y1.begin(),y1.end());
    
                long long sol = 0LL;
                long long sum = 0LL;
    
                for(auto it:y1)
                    sum += 1LL*it.second;
    
                sol = sum;
    
                /**
                 * Pana la un anumit punct luam din 0, apoi din 1
                 */
    
                int pnt0 = -1;
                int pnt1 = 0;
                long long sum0 = 0;
                for(int i=0;i<(int)y0.size();i++)
                {
                    pnt0++;
                    sum0 += 1LL * y0[i].second;
    
                    while(pnt1<(int)y1.size() && y1[pnt1].first<=y0[i].first)
                    {
                        sum -= 1LL * y1[pnt1].second;
                        pnt1++;
                    }
                    sol = max(sol,sum+sum0);
                }
                sol = max(sol,sum+sum0);
                sum0 = 0LL;
                for(auto it:y0)
                    sum0+=1LL*it.second;
    
                sol = max(sol,sum0);
    
    
                return sol;
            }
            return 0;
        }

Compilation message

fish.cpp: In function 'long long int max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
fish.cpp:42:21: warning: unused variable 'sz' [-Wunused-variable]
   42 |                 int sz = X.size();
      |                     ^~
# Verdict Execution time Memory Grader output
1 Correct 20 ms 2124 KB Output is correct
2 Correct 25 ms 2624 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 80 ms 7252 KB Output is correct
6 Correct 86 ms 7228 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 55 ms 5676 KB Output is correct
3 Correct 68 ms 6728 KB Output is correct
4 Correct 21 ms 2136 KB Output is correct
5 Correct 32 ms 2624 KB Output is correct
6 Incorrect 0 ms 212 KB 1st lines differ - on the 1st token, expected: '4044', found: '6066'
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 0 ms 212 KB 1st lines differ - on the 1st token, expected: '882019', found: '0'
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB 1st lines differ - on the 1st token, expected: '3', found: '0'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB 1st lines differ - on the 1st token, expected: '3', found: '0'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB 1st lines differ - on the 1st token, expected: '3', found: '0'
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Incorrect 0 ms 212 KB 1st lines differ - on the 1st token, expected: '882019', found: '0'
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 20 ms 2124 KB Output is correct
2 Correct 25 ms 2624 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 80 ms 7252 KB Output is correct
6 Correct 86 ms 7228 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 55 ms 5676 KB Output is correct
9 Correct 68 ms 6728 KB Output is correct
10 Correct 21 ms 2136 KB Output is correct
11 Correct 32 ms 2624 KB Output is correct
12 Incorrect 0 ms 212 KB 1st lines differ - on the 1st token, expected: '4044', found: '6066'
13 Halted 0 ms 0 KB -