2823 2023. 01. 27 19:23:41 gontermark Szivárványszámok cpp17 Elfogadva 45/45 3ms 4384 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 Összpont Teszt Verdikt Idő Memória
base 45/45
1 Elfogadva 0/0 3ms 2092 KiB
2 Elfogadva 0/0 2ms 2224 KiB
3 Elfogadva 0/0 2ms 2216 KiB
4 Elfogadva 1/1 2ms 2364 KiB
5 Elfogadva 1/1 2ms 2568 KiB
6 Elfogadva 1/1 2ms 2648 KiB
7 Elfogadva 1/1 2ms 3036 KiB
8 Elfogadva 1/1 2ms 3052 KiB
9 Elfogadva 1/1 2ms 3200 KiB
10 Elfogadva 1/1 2ms 3364 KiB
11 Elfogadva 1/1 2ms 3252 KiB
12 Elfogadva 1/1 2ms 3384 KiB
13 Elfogadva 2/2 2ms 3584 KiB
14 Elfogadva 2/2 2ms 3700 KiB
15 Elfogadva 2/2 2ms 3792 KiB
16 Elfogadva 2/2 2ms 3864 KiB
17 Elfogadva 1/1 2ms 3996 KiB
18 Elfogadva 2/2 2ms 4104 KiB
19 Elfogadva 2/2 2ms 4100 KiB
20 Elfogadva 2/2 2ms 4108 KiB
21 Elfogadva 3/3 2ms 4056 KiB
22 Elfogadva 2/2 2ms 4056 KiB
23 Elfogadva 2/2 2ms 4056 KiB
24 Elfogadva 2/2 2ms 4184 KiB
25 Elfogadva 2/2 2ms 4260 KiB
26 Elfogadva 2/2 2ms 4268 KiB
27 Elfogadva 2/2 2ms 4276 KiB
28 Elfogadva 2/2 2ms 4276 KiB
29 Elfogadva 2/2 2ms 4384 KiB
30 Elfogadva 2/2 2ms 4272 KiB