28232023-01-27 19:23:41gontermarkSzivárványszámokcpp17Elfogadva 45/453ms4384 KiB
#include <iostream>
#include <vector>

using namespace std;

string abc="0123456789";
string n;
vector<long long>adb;
vector<long long>bdb;

long long sziv(int kezd)
{
    for(int i=kezd;i<n.length()-1;i++)
    {
        for(int j=8;j>=0;j--)
        {
            bdb[j]+=bdb[j+1]+adb[j+1];
        }
        for(int j=1;j<=9;j++)
        {
            adb[j]+=adb[j-1];
        }
    }
    long long db=0;
    for(int i=0;i<=9;i++)
    {
        db+=adb[i]+bdb[i];
    }
    return db;
}

int main()
{
    cin >> n;
    n="0"+n;
    bool jo=true;
    bool nov=true;
    int eszj;
    int szj;
    int rszj=-1;
    long long db=0;
    for(int i=1;i<n.length() && jo;i++)
    {
        if(n[i-1]<n[i] && !nov) jo=false;
        else if(n[i-1]>n[i] && nov) nov=false;
        
        
            eszj=abc.find(n[i-1]);
            szj=abc.find(n[i]);
            if(!jo)
            {
                if(rszj==-1) rszj=eszj+1;
                eszj=rszj;
                szj=rszj;
            }
            adb.clear();
            bdb.clear();
            adb.resize(10);
            bdb.resize(10);
            for(int j=0;j<szj;j++)
            {
                if(j<eszj)
                {
                    bdb[j]=1;
                }
                else if(nov)
                {
                    adb[j]=1;
                }
            }
            db+=sziv(i);
        
    }
    cout << db << endl;
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base45/45
1Elfogadva0/03ms2092 KiB
2Elfogadva0/02ms2224 KiB
3Elfogadva0/02ms2216 KiB
4Elfogadva1/12ms2364 KiB
5Elfogadva1/12ms2568 KiB
6Elfogadva1/12ms2648 KiB
7Elfogadva1/12ms3036 KiB
8Elfogadva1/12ms3052 KiB
9Elfogadva1/12ms3200 KiB
10Elfogadva1/12ms3364 KiB
11Elfogadva1/12ms3252 KiB
12Elfogadva1/12ms3384 KiB
13Elfogadva2/22ms3584 KiB
14Elfogadva2/22ms3700 KiB
15Elfogadva2/22ms3792 KiB
16Elfogadva2/22ms3864 KiB
17Elfogadva1/12ms3996 KiB
18Elfogadva2/22ms4104 KiB
19Elfogadva2/22ms4100 KiB
20Elfogadva2/22ms4108 KiB
21Elfogadva3/32ms4056 KiB
22Elfogadva2/22ms4056 KiB
23Elfogadva2/22ms4056 KiB
24Elfogadva2/22ms4184 KiB
25Elfogadva2/22ms4260 KiB
26Elfogadva2/22ms4268 KiB
27Elfogadva2/22ms4276 KiB
28Elfogadva2/22ms4276 KiB
29Elfogadva2/22ms4384 KiB
30Elfogadva2/22ms4272 KiB