제출 #728511

#제출 시각아이디문제언어결과실행 시간메모리
728511kwongweng메기 농장 (IOI22_fish)C++17
6 / 100
137 ms18384 KiB
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> ii;
typedef vector<ii> vii;
typedef long double ld;
typedef pair<ll, ll> pll;
#define FOR(i, a, b) for(int i = a; i < b; i++)
#define ROF(i, a, b) for(int i = a; i >= b; i--)
#define ms memset
#define pb push_back
#define fi first
#define se second

ll max_weights(int n, int m, vi X, vi Y, vi W) {
  vii a0, a1;
  FOR(i,0,m){
    if (X[i] == 0) a0.pb({Y[i], W[i]});
    else a1.pb({Y[i], W[i]});
  }
  sort(a0.begin(), a0.end());
  sort(a1.begin(), a1.end());
  ll ans = 0;
  FOR(i,0,a1.size()){
    ans += a1[i].se;
  }
  if (n == 2){
    ll ans0 = 0;
    FOR(i,0,a0.size()){
      ans0 += a0[i].se;
    }
    return max(ans, ans0);
  }
  ll cur = ans;
  int j = 0;
  FOR(i,0,a0.size()){
    cur += a0[i].se;
    if (j >= a1.size()){
      ans = max(ans, cur);
      continue;
    }
    while (a0[i].fi >= a1[j].fi && j < a1.size()){
      cur -= a1[j].se; j++;
    }
    ans = max(ans, cur);
  }
  return ans;
}

컴파일 시 표준 에러 (stderr) 메시지

fish.cpp: In function 'll max_weights(int, int, vi, vi, vi)':
fish.cpp:11:39: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 | #define FOR(i, a, b) for(int i = a; i < b; i++)
......
   27 |   FOR(i,0,a1.size()){
      |       ~~~~~~~~~~~~~                    
fish.cpp:27:3: note: in expansion of macro 'FOR'
   27 |   FOR(i,0,a1.size()){
      |   ^~~
fish.cpp:11:39: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 | #define FOR(i, a, b) for(int i = a; i < b; i++)
......
   32 |     FOR(i,0,a0.size()){
      |         ~~~~~~~~~~~~~                  
fish.cpp:32:5: note: in expansion of macro 'FOR'
   32 |     FOR(i,0,a0.size()){
      |     ^~~
fish.cpp:11:39: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   11 | #define FOR(i, a, b) for(int i = a; i < b; i++)
......
   39 |   FOR(i,0,a0.size()){
      |       ~~~~~~~~~~~~~                    
fish.cpp:39:3: note: in expansion of macro 'FOR'
   39 |   FOR(i,0,a0.size()){
      |   ^~~
fish.cpp:41:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |     if (j >= a1.size()){
      |         ~~^~~~~~~~~~~~
fish.cpp:45:38: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |     while (a0[i].fi >= a1[j].fi && j < a1.size()){
      |                                    ~~^~~~~~~~~~~
#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...