Submission

Status:

[-SSS][-][-][-][-]

Subtask/Task Score:

{0/20}{0/20}{0/20}{0/20}{0/20}

Score: 0

User: KanemiyaKana

Problemset: นก

Language: cpp

Time: 0.004 second

Submitted On: 2026-10-03 16:52:17

#include <iostream>
#include <string>
#include <cctype>
using namespace std;

int main ()
{
    long long slide = 0;
    cin >> slide;
    if (slide > 1000000000 || slide < -1000000000)
    {
        cout << "amount is outside of the supported amount.";
        return 0;
    }
    cin.ignore();
    string input;
    string output;
    getline(cin, input);
    if (input.length() > 100000)
    {
        cout << "input is longer than supported.";
        return 0;
    }
    if (slide >= 0) // positives
    {
        for (long long i = 0; i < input.length(); i++)
        {
            if (isalpha(input[i]))
            {
                if (input[i] >= 65 && input[i] <= 90)
                {
                    long long total = input[i] + slide;
                    long long total1 = total;
                    if (total > 90)
                    {
                        for (long long j = 0; j < total1/26; j++)
                        {
                            total = total - 26;
                            if (total >= 65 && total <= 90)
                            {
                                break;
                            }
                        }
                        output += char(total);
                    }
                    else
                    {
                        output += char(total);
                    }
                }
                else
                {
                    long long total = input[i] + slide;
                    long long total1;
                    if (total > 122)
                    {
                        for (long long j = 0; j < total1/26; j++)
                        {
                            total = total - 26;
                            if (total >= 97 && total <= 122)
                            {
                                break;
                            }
                        }
                        output += char(total);
                    }
                    else
                    {
                        output += char(total);
                    }
                }
            }
            else
            {
                output += input[i];
            }
        }
    }
    else // negatives
    {
        for (long long i = 0; i < input.length(); i++)
        {
            if (isalpha(input[i]))
            {
                if (input[i] >= 65 && input[i] <= 90)
                {
                    long long total = input[i] + slide;
                    long long total1 = total;
                    if (total < 65)
                    {
                        for (long long j = 0; j < 1000000000; j++)
                        {
                            total = total + 26;
                            if (total >= 65 && total <= 90)
                            {
                                break;
                            }
                        }
                        output += char(total);
                    }
                    else
                    {
                        output += char(total);
                    }
                }
                else
                {
                    long long total = input[i] + slide;
                    long long total1 = total;
                    if (total < 97)
                    {
                        for (long long j = 0; j < 1000000000; j++)
                        {
                            total = total + 26;
                            if (total >= 97 && total <= 122)
                            {
                                break;
                            }
                        }
                        output += char(total);
                    }
                    else
                    {
                        output += char(total);
                    }
                }
            }
            else
            {
                output += input[i];
            }
        }
    }
    cout << output;
}