結果
問題 | No.2495 Three Sets |
ユーザー | prin_kemkem |
提出日時 | 2023-10-06 23:05:37 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,193 bytes |
コンパイル時間 | 430 ms |
コンパイル使用メモリ | 87,164 KB |
実行使用メモリ | 98,940 KB |
最終ジャッジ日時 | 2023-10-06 23:05:47 |
合計ジャッジ時間 | 8,977 ms |
ジャッジサーバーID (参考情報) |
judge11 / judge13 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 185 ms
85,772 KB |
testcase_01 | AC | 179 ms
81,192 KB |
testcase_02 | AC | 194 ms
81,044 KB |
testcase_03 | AC | 178 ms
81,328 KB |
testcase_04 | AC | 180 ms
81,036 KB |
testcase_05 | AC | 181 ms
81,320 KB |
testcase_06 | AC | 181 ms
81,192 KB |
testcase_07 | AC | 181 ms
81,084 KB |
testcase_08 | AC | 189 ms
81,168 KB |
testcase_09 | AC | 253 ms
83,156 KB |
testcase_10 | AC | 363 ms
83,124 KB |
testcase_11 | AC | 418 ms
83,348 KB |
testcase_12 | AC | 648 ms
83,452 KB |
testcase_13 | TLE | - |
testcase_14 | -- | - |
testcase_15 | -- | - |
testcase_16 | -- | - |
testcase_17 | -- | - |
testcase_18 | -- | - |
testcase_19 | -- | - |
testcase_20 | -- | - |
ソースコード
from collections import defaultdict, deque, Counter import copy from itertools import combinations, permutations, product, accumulate, groupby, chain from heapq import heapify, heappop, heappush import math import bisect from pprint import pprint from random import randint import sys # sys.setrecursionlimit(700000) input = lambda: sys.stdin.readline().rstrip('\n') inf = float('inf') mod1 = 10**9+7 mod2 = 998244353 def ceil_div(x, y): return -(-x//y) ################################################# def f(x): sc = SC[x] return sa*j + sb*x + sc*i def findMax(f, l, r): while r-l >= 3: c1 = l+(r-l)//3 c2 = r-(r-l)//3 if f(c1) > f(c2): r = c2 else: l = c1 return max(f(x) for x in range(l, r+1)) NA, NB, NC = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) C = list(map(int, input().split())) A.sort(reverse=True) B.sort(reverse=True) C.sort(reverse=True) SA = [0]+list(accumulate(A)) SB = [0]+list(accumulate(B)) SC = [0]+list(accumulate(C)) ans = 0 for i in range(NA+1): sa = SA[i] for j in range(NB+1): sb = SB[j] ans = max(ans, findMax(f, 0, NC)) print(ans)