讨论 / 108题 总是90分 大牛看看
dingming 2010-07-03 02:16:00
点我顶贴 收藏 删除
var a:array[1..10000]of integer;

s,min,i,k,n,r:longint;

begin

s:=0;min:=80;

read(n,r);

for i:=1 to n do

begin

readln(a[i]);

s:=s+a[i];

if a[i]<min then min:=a[i];

end;

for i:=n downto 1 do

begin

if (s mod i=0)and(i<min) then begin

k:=s div i;

writeln(k-n,’ ’,i);

if i>r then write(’T’) else write(’F’);

break;

end;

end;

end.

#1 dingming@2008-09-28 05:45:00
回复 删除
没人回?
#2 苍狼@2008-11-01 05:03:00
回复 删除
吧n downto 1 改成n*2 downto 1 就行了
#3 飞雪天涯@2008-11-01 08:29:00
回复 删除
你的程序和我的差不多:

[color=red]i:=n downto 1 do[/color]

改成

[color=blue]i:=min downto 1 do[/color]

即可

#include<iostream>

#include<climits>

using namespace std;

int main(void){

int s=0,min=INT_MAX,temp;

int n,hope;

cin>>n>>hope;

for (int i=1;i<=n;i++){

cin>>temp;

s+=temp;

if (temp<min)min=temp;

}

for (int i=min;i>0;i--)//As least as possible

if (s%i==0){

int divide=s/i;

cout<<divide-n<<’ ’<<i<<endl;

if (i>hope) cout<<’T’;

else cout<<’F’;

break;

}

return 0;

}

#4 420988824@2009-03-04 04:36:00
回复 删除
program rq108;

var

s:array[0..20000]of integer;

n,r,x,i,m,p,sc,t,min,j:integer;

begin

readln(n,r);

min:=maxint;

for i:=1 to n do

begin

readln(s[i]);

p:=p+s[i];

if s[i]<min then min:=s[i];

end;

for i:=min downto 1 do

if p mod i=0 then begin j:=i;break;end;

sc:=p div j;

m:=sc-n;

writeln(m,’ ’,j);

if j>r then writeln(’T’)

else writeln(’F’);

end.

#5 420988824@2009-03-04 04:37:00
回复 删除
呃··下次不直接发标程了··

大家还是先自己做下··

#6 L.Lawliet@2010-06-10 17:12:00
回复 删除
RQ看下

第5个点MS有问题

题目输入 r=10

结果 k=5

还输出‘T’?

难道10=5 [color=pink] —。—[/color]

#7 Lasser.Fire@2010-07-02 06:02:00
回复 删除
看看

除了地基 还能到什么境界

#8 Lasser.Fire@2010-07-02 06:02:00
回复 删除
再看

……………………

#9 Lasser.Fire@2010-07-02 06:02:00
回复 删除
在看看

…………地幔

#10 Lasser.Fire@2010-07-02 06:02:00
回复 删除
地核

地核之下

查看更多回复
提交回复