#include <iostream> #include <cstdio> #include <CMATH> #include <cstdlib> #include <алгоритм> #include <CString> #include <строка> #include <вектор> #include <карта> #include <набор> # include <очереди> Const INT maxn = 1e5 + 100; определение типа во долго долго LL; используя патезрас; Int А [maxn], В [maxn], CNT, визит [maxn]; // CNT来记录防御态的个数 структура узла { INT значение, поз; Оператор BOOL <(Const Узел & г) сопзЬ { возвращаемое значение <d.value; } } Узел [maxn]; Int основных () { INT т, п, м; зсапЕ ( "% d", & т); INT = 0 KASE; буду подводить = 0, sum1 = 0 ;; в то время как (T--) { зсапЕ ( "% d% d", & п, & м); MemSet (визит, 0, SizeOf (посещение)); сумма = 0; sum1 = 0; CNT = 0; для (INT I = 0; я <п; я ++) { зсапЕ ( "% d", & A [I]); сумма + = а [I]; } Для (INT I = 0; я <м; я ++) Scanf ( "% D", & узел [I] .value); для (INT I = 0; I <т; я ++) { Scanf ( "% D", & узел [I] .pos); если (! узел [I] .pos) sum1 + = узел [I] .value; если (узел [I] .pos) б [CNT ++] = узел [I]. значение; } LL ANS, ANS1; ANS = ANS1 = 0; //是否可以全部干掉 рода (узел, узел + м); рода (а, а + п); INT флаг = 0; если (п> = т) { INT I, J; I = п-1; J = м-1; для (I>; = 0 && J> = 0; я--) { если (узел [J] .value <= а [I]) j--; еще перерыв; если (J!) перерыва; } (! К) , если флаг = 1; } Если (флаг) { Int J = 0; для (INT I = 0; я <п && J <CNT; я ++) { если (а [я]> = Ь [J]) { J ++; sum- = а [I]; } } Если (J = CNT!) Флаг = 0; остальное ANS = сумма-sum1; } Int I = п-1, J = 0; для (; я && J <м; i--) { если (а [я]> = узел [J] .value) { если (узел [J] .pos!) { ANS1 + = (а [я] -node [J ].значение); } j ++; } еще перерыв; } Е ( "Дело% d:% LLD \ п", ++ KASE, макс (ANS, ANS1)); } Возвращает 0; }
Этот вопрос очень интересен
Во-первых, смысл проблемы неизвестность (ха-ха)
Он имеет оборонительное состояние, в конце концов убивает друг друг для того, чтобы бороться друг с другом непосредственно вина
В обоих случаях
1, не все убивают друг друга (с их собственной стороне большой сухой другой стороны от самых маленьких, с второй по величине высушите другую сторону следующий маленький, пока я не могу быть)
2, все убивают друг друга (чтобы избавиться от государственной обороны с минимальными затратами, а затем вычесть все остальное странное, а остальное на линии)