A 最优选法
题目名字很说明问题。统计0的个数,设为X。统计最大值出现的次数,设为Y。统计全部正数的和,设为sum。
分情况讨论:
1.数列里存在正数,答案是(sum,2^X)。
2.没有正数,有零,答案是(0,2^X-1)。
3.全是负数,就选最大值,第二问是Y。(这个当时没相对所以WA90)

Codeprogram RQ695;
const p=1000000000000000003;
var sum,maxmin,a,ans2,maxcnt:int64;
i,n:longint;
begin
readln(n);sum:=0;
maxmin:=-1000010;
ans2:=1;
for i:=1 to n do
begin
read(a);
if a>0
then inc(sum,a)
else if a<0
then begin
if a>maxmin
then begin maxmin:=a;maxcnt:=1;end else
if a=maxmin then maxcnt:=(maxcnt+1)mod p;
end
else ans2:=(ans2<<1) mod p;
end;
if(sum>0)
then writeln(sum,' ',ans2)
else begin
if(ans2>1)
then writeln(0,' ',ans2-1)
else writeln(maxmin,' ',maxcnt);
end;
end.
B 送分题
C 幻方
我只做了第一题,得89分,还排名26。RQNOJ真的没人做吗。。。