eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[python] problem z szybkością wykonania › [python] problem z szybkością wykonania
  • Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!ne
    ws.nask.org.pl!newsfeed00.sul.t-online.de!newsfeed01.sul.t-online.de!t-online.d
    e!newsfeed.straub-nv.de!proxad.net!feeder1-2.proxad.net!74.125.46.134.MISMATCH!
    postnews.google.com!f19g2000yqh.googlegroups.com!not-for-mail
    From: t...@o...pl
    Newsgroups: pl.comp.programming
    Subject: [python] problem z szybkością wykonania
    Date: Fri, 22 May 2009 02:03:50 -0700 (PDT)
    Organization: http://groups.google.com
    Lines: 44
    Message-ID: <0...@f...googlegroups.com>
    NNTP-Posting-Host: 193.34.2.1
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    X-Trace: posting.google.com 1242983030 11871 127.0.0.1 (22 May 2009 09:03:50 GMT)
    X-Complaints-To: g...@g...com
    NNTP-Posting-Date: Fri, 22 May 2009 09:03:50 +0000 (UTC)
    Complaints-To: g...@g...com
    Injection-Info: f19g2000yqh.googlegroups.com; posting-host=193.34.2.1;
    posting-account=zePNcgoAAABVE3Xykwx5dJzJQW3DvydV
    User-Agent: G2/1.0
    X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0;
    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1;
    .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.1; .NET CLR
    3.5.30729; .NET CLR 3.0.30618),gzip(gfe),gzip(gfe)
    Xref: news-archive.icm.edu.pl pl.comp.programming:182111
    [ ukryj nagłówki ]

    Witam,
    mam problem z poniższym kodem ponieważ nie został zaakceptowany przez
    spoj z powodu błędu "limit czasu został przekroczony".
    Proszę o pomoc w optymalizacji tego kodu lub w wyborze innego
    szybszego algorytmu.

    Zadanie znajduje się pod adresem http://pl.spoj.pl/problems/KC024


    def a(sum,tab):

    n=len(tab)
    tmp=sum


    for i in range(n):
    if sum-int(tab[i])>=0:
    sum=sum-int(tab[i])
    if sum==0:
    return 1



    for j in range(i+1,n):
    if sum-int(tab[j])>=0:

    sum=sum-int(tab[j])
    if sum==0:
    return 1

    sum=tmp


    while 1:
    try:
    we = raw_input().split()
    except EOFError: break
    W=int(we[0])
    tab=we[2:]

    tab.sort(reverse=1)
    if a(W,tab):
    print "1"
    else:print "0"

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: