CSES - Datatähti 2022 alku - Results
Submission details
Task:Spiraali
Sender:Emunemu
Submission time:2021-10-05 16:45:36 +0300
Language:C++17
Status:READY
Result:35
Feedback
groupverdictscore
#1ACCEPTED15
#2ACCEPTED20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1details
#2ACCEPTED0.01 s2details
#3--3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:58:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for (int i = 0; i < v.size();i++) {
                     ~~^~~~~~~~~~

Code

#include <stdio.h>
#include <iostream>
#include <vector>

using namespace std;

bool Uloimmalla(int x, int y, int nt) {
    if (x == 1 || y == 1 ||x==nt||y==nt) {
        return true;
    }
    return false;
}

int main()
{
    int n,nt,t,x,y;
    cin >> n >> t;
    vector<int> v;
    for (int i = 0; i < t;i++) {
        cin >> y >> x;
        nt = n;
        
        int perus = 0;
        int tulo = n-1;
        int kerrottava = 4;
        int ans = 0;
        while(true) {
            if (Uloimmalla(x,y,nt)) {
                if (x==1) {
                    ans = perus + y;
                } else if (y==nt) {
                    ans = perus + nt + (x-1);
                } else if (y==1) {
                    ans = (tulo * kerrottava) - x + 2;
                } else if (x==nt) {
                    ans = (tulo * kerrottava) - nt + 2 - y + 1;
                }
            }
            if (ans != 0) {
                v.push_back(ans);
                x = 0;
                y = 0;
                nt = n;
                break;
            }
            perus = tulo * kerrottava;
            tulo -= 1;
            kerrottava += 4;
            nt -= 2;
            y -= 1;
            x -= 1;
        }
        
        
    }
    
    for (int i = 0; i < v.size();i++) {
        cout << v[i] << "\n";
    }

    return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
10 100
1 1
1 2
1 3
1 4
...

correct output
1
36
35
34
33
...

user output
1
36
35
34
33
...

Test 2

Group: 2

Verdict: ACCEPTED

input
1000 1000
371 263
915 322
946 880
53 738
...

correct output
773533
312166
206053
200080
593922
...

user output
773533
312166
206053
200080
593922
...

Test 3

Group: 3

Verdict:

input
1000000000 1000
177757853 827347032
409613589 419171337
739269360 256524697
328695530 896842209
...

correct output
571375684522141210
967321186816598569
762879105851175000
370065046779516790
936897883750373771
...

user output
(empty)