spt90 #8 WA 求调
查看原帖
spt90 #8 WA 求调
1217201
liyunhe楼主2024/6/28 17:45

我的代码出什么问题了么,哪个大佬帮忙看看

#include<bits/stdc++.h>
using namespace std;
struct bigint{
    int a[3520];
    int len;
    bigint(int x=0){
        memset(a,0,sizeof(a));
        for(len=1; x; len++)
            a[len]=x%10,x/=10;
        len--;
    }
    int &operator[](int i){
        return a[i];
    }
    void flatten(int L){
        len=L;
        for(int i=1;i<=len;i++)
            a[i+1]+=a[i]/10,a[i]%=10;
        for(;!a[len];)
            len--;
    }
    inline void print(){
        for(int i=max(len,1);i>=1;i--)
            printf("%d",a[i]);
    }
};
bigint operator+(bigint a,bigint b){
    bigint c;
    int len=max(a.len,b.len);
    for(int i=1; i<=len; i++)
        c[i]+=a[i]+b[i];
    c.flatten(len+2);
    return c;
}
bigint operator*(bigint a,int b){
    bigint c;
    int len=a.len;
    for(int i=1; i<=len; i++)
        c[i]=a[i]*b;
    c.flatten(len+11);
    return c;
}
bigint operator/(bigint a,int b){
    bigint c;
    int len=a.len;
    for(int i=len; i>=1; i--)
        a[i-1]+=a[i]%b*10,c[i]=a[i]/b;
    a[0]=0;
    c.flatten(a.len);
    return c;
}
bool operator>(bigint a,bigint b){
    if(a.len>b.len)return 1;
    if(a.len==b.len){
        for(int i=a.len; i>=1; i--){
            if(a[i]>b[i])return 1;
            else if(a[i]<b[i])return 0;
        }
    }
    return 0;
}
struct node{
    int l,r;
}s[10009];
bigint last(0),now(0),maxn(0);
bool cmp(node a,node b){
    return a.l*a.r<b.l*b.r;
}
int main(){
    int n,a,b;
    cin>>n;
    cin>>a>>b;
    last=bigint(a);
    for(int i=1; i<=n; i++)
        cin>>s[i].l>>s[i].r;
    sort(s+1,s+n+1,cmp);
    for(int i=1; i<=n; i++){
        now=last*s[i].l;
        bigint gold=bigint(last/s[i].r);
        maxn=bigint(maxn>gold ? maxn:gold);
        last=now;
    }
    maxn.print();
    return 0;
}
46946405157892199425559037911878535744883817164547053913663983438433059370862977610804264210954066758216870168282613186505133186385487537828429456563558104996426724753980816925640861223783673185314540162604217721401501797629136172599748286689411527676343962692404444050792139765595881540457166752132828656985021236493608765515206388678548068283777852074175079631402876914325312741411248084468228612709027834888149484133730451004582870930157797499857842583189025002717211650909452383468329744921355275385181881617668554145329966125021190646875615301254754072426513358942043636921926181715041106234432967489253844650954668905889336421093625199228566663577896414688050761421613804316117427730661027924994575877836856353286421019108018271501764586682791464020427142664674449003751778031420962062677576755538954715894084031157253342884539480131751302839954752608593250592327136824738386340634157200672113703631812831695421994633048485022518465803520613832278789803978037446972479016301630671090164140019562026399665044490685224135650599694983968980011174722931111067421206737360158737525701388764667139825221777759842849481628789354987836436067199979538800509652964724026751327975724191119377346782295118059673448864124450495139837361818277137132050186503325084167228588311127410253744082539446537995435847128539237939425921283349083370595480957814839948996534427336105508593166528217114123399860601988552618474290665552463415804222948205383312748117854497277250928362045956820843474243052162015502073756622205717651711464682128582528192768725524375060774405248778911773807484101393056035316666325086399076502840611515501988879954283927080438489242353738329226865285997124904376737064771174196532505239234235212946066036554700817790141030836142724815093451446356571359323631445670891216041633782657726965583405405121628613862967133597034411871595537008005894607754382870690563871058317510195316816387834490151392511415024868633206790700396483826623222468549119444118469608772547712471572856674522725208501225550659094477888429412843072234552376629379994314261583938151363337635188741564141955240986692255880646624632861805155562183690836038987453754550671080874342725155553652139018793931232162908636142950201353576767944751956433136642919257489333668496586956159739495300322261822526117031163376847901529686624535553798206956576745104003115244325325493053257044278164483429224664883548650767622092328809122286180118839946416117918731436808219002114092199946262167180234936754803678735416736741001041516604434600203555404221465246927980445903255847568627733895212081450688536265698184582058321112279964876887237314030568757044218149531616362724707278576237195906962134598129236813782108281970864705638687954850360574154081788441257323459212463069580923729013254705842006877142615487309477656861834783001047180967094951682617705367279587305191137280194250465989255674399543168607533474196014129295086826711862172124453800587636420307683111177243790206503778881096263310746084818929815792462424219138085696604010344630126868715337925343154384099766655698962973111191507620013624347415168815031291951591581439676496774319223164686830866540616059965413389644898438864592737749984703384896345957889623852873564127041483870673173750506954109079946512485111292965683200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
4028396466890621399617777001922084145816723424434458760371820414699378225122228464276211665221059309049176469553777985052615708918620702270059180630867889503066977744850351951838144025321307445539481844037807792521323020351388702300798140281518341830437493687248471950016256099475550881662848948578104299113618351519064757357529337617314407511214008953604721318111750750835114874457892394746927706299871551522619023867265364998179773988496344567933799922613273334995368413931535871542531949690464115051182613120729104599401978186851602800527778214564557592439658535398069157602590440298164863749564841631664972557347264748684465134601669748777214126611809130711181842084976492815386274253598285806174313877318326055531499271346202202579329852646456259459175118506221566278354585359283290528465706228893998714553770553526919340694019454334691499183785334836924353044424349678766685355004009046884533792691142554316274346577621246884745155052241841877378472549117540892512498565369416246708813491385003245797248339971354906820879177051182341013232881845296041655232622972229943666606304445176527279344721993844799772157282195449162477352891075117557744812369232304926171463525810903485259114296911081254078307656801727912530059594493450648979507520345955916115863206327030475877854418878966485409475044748287307047694520324787801750016916192566085096516557536392176054900800813694860234772203383898813983446830088977336664458399188655938149578995265834169024752838027460567547981309613280052615381385982556594253619746831086070099648117280745085732634866938568870217065855006092831770870828571357742730082332652117279007996185166268852015104629381000473743859332776724837714082139774167582735162741700719828415459934694256844540182334480921301742420055345350419753449299410595447479424149398151710397795619500965416582036783699019023198011575232775483710051386709693020734779660461233630661171955054071710713626866322762655013215399865628503934483689982686652471987262724758603123429662001674858197907472057205672546643950325976182757451811204111394553710812486277408190131354008870076517113141343003568757658036066525619040434626585033404114246598722262860068244134059647563880757579739807600438339538231768264133946887571894029824351203115281148380973168654655072618254929960450144785613373327224364851100060814978303350346848135685891013179308355740725135889144439259560122565016852210513853653993157223468628874403224698492678240921168273890862808810206305647325128241438916142159551800744640935392388139696396748326425752873046623561647673752301229981376514579098401778444791160953624047025942349544514831134337559404301423237459026736036340248827601320612586193543155296903222108350850144963418092611890352809531862961729031889096304440813202790796942573714593284010245203337202009552241099314185092351995388743387197828651229541433094186861822574871727093998413202465399653823894778463461377843320499114884586388138071977159107883839906288479419311564572201629584541710059832614269347584622243816126805279016979304947084609307614781560559103922423662310667479159080605513997384397937303627856493912703772328566648997077034929775321334405257777957427035707473691900320345931350563947889102081931892590114233440580933198421407867408609774577628580476566029058074554294975688816855753646677471636952998379254457050243111831442463533225283630470016207455429497568881685575364667747163695299837925445705024311183144246353322528363047001620745542949756888168557536466774716369529983792544570502431118314424635332252

后面的是我的答案和标准答案

2024/6/28 17:45
加载中...