Pagini: 1 2 [3]   În jos
  Imprimă  
Ajutor Subiect: 838 Alibaba  (Citit de 12570 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
bodyionita
Strain


Karma: -2
Deconectat Deconectat

Mesaje: 6



Vezi Profilul
« Răspunde #50 : Octombrie 13, 2011, 12:46:35 »

Cod:
#include <cstdio>
using namespace std;
int n,k,i,rezultat[10000],p;
char nr[10001];
void construiesc(char nr[10001], int p, int rezultat[10000], int x)
{   int max;
    if (p>0)
{
max=1;
for (i=1;i<=x-p;i++)
if (nr[max]<nr[i]) max=i;
rezultat[n-k-p]=nr[max]-48;
for (i=0;i<=x-max-1;i++) nr[i]=nr[i+max];
return construiesc(nr,p-1,rezultat,x-max);
}
}
int main()
{
    freopen("alibaba.in","r",stdin);
    freopen("alibaba.out","w",stdout);
    scanf("%d%d",&n,&k);
p=n-k;
for (i=-1;i<=n-1;i++) scanf("%c",&nr[i]);
construiesc(nr,p,rezultat,n);
for (i=0;i<=p-1;i++)
printf("%d",rezultat[i]);
fclose(stdin);
fclose(stdout);
return 0;
}
nu inteleg ce gresesc de imi da TLE...iau doar 80 pct pe sursa asta.. Brick wall
Memorat
TheNechiz
De-al casei
***

Karma: 30
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #51 : Iunie 24, 2012, 11:39:50 »

Iau 50 de puncte Winner 3rd place

Îmi pică testele 4,5,7,8,9. Mă poate ajuta cineva? Embarassed



      
« Ultima modificare: Iunie 24, 2012, 17:10:18 de către Birisan Razvan » Memorat
ctlin04
Nu mai tace
*****

Karma: 23
Deconectat Deconectat

Mesaje: 207



Vezi Profilul
« Răspunde #52 : Iunie 24, 2012, 14:09:18 »

Daca am inteles corect ce faci tu atunci incearca asa un test
5   1
30000
raspunsul ar trebui sa fie 3000 dar programul tau cred ca afiseaza 3 sau chiar intra in ciclu, se pare ca ai scapat din vedere faptul ca in sirul dat pot fi si cifre de 0, incearca sa inlocuesti in algoritmul tau numerele trecute in rez cu -1;
 Sper ca am fost explicit  Smile
Memorat
TheNechiz
De-al casei
***

Karma: 30
Deconectat Deconectat

Mesaje: 145



Vezi Profilul
« Răspunde #53 : Iunie 24, 2012, 16:01:30 »

Asta era Shocked
Acum m-am uitat mai bine la restricții.
Am luat 100 de puncte Winner 1st place
Mulțumesc  Thumb up
Yahoo!
Memorat
andreicadar
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #54 : Martie 25, 2015, 10:12:25 »

Am facut problema bine dar imi da o va rog uitativa peste ea
#include <fstream>
#include <iostream>

using namespace std;
ifstream f("alibaba.in");
ofstream g("alibaba.out");
int v[10001],i,n,k,nr;
char y,x;
bool a[10001];
int main()
{
    f>>n;
    f>>k;
    f.get();
    f.get(x);
    v[1]=x-'0';

    for(i=2; i<=n; i++)
    {
        f.get(y);
        v=y-'0';
        if(v[i-1]<=v&& nr<k)
        {
            a[i-1]=true;

            nr++;
        }
    }


    for(i=1; i<=n; i++)
        if(a==false)
            g<<v;
}

Memorat
Pagini: 1 2 [3]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines