CSES - Putka Open 2015 – 1/6 - Results
Submission details
Task:Aita
Sender:
Submission time:2015-07-17 17:01:45 +0300
Language:C++
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED17
#2ACCEPTED28
#3ACCEPTED55
Test results
testverdicttimegroup
#1ACCEPTED0.09 s1details
#2ACCEPTED0.09 s1details
#3ACCEPTED0.07 s1details
#4ACCEPTED0.08 s1details
#5ACCEPTED0.09 s1details
#6ACCEPTED0.10 s2details
#7ACCEPTED0.09 s2details
#8ACCEPTED0.09 s2details
#9ACCEPTED0.07 s2details
#10ACCEPTED0.09 s2details
#11ACCEPTED0.09 s3details
#12ACCEPTED0.08 s3details
#13ACCEPTED0.10 s3details
#14ACCEPTED0.09 s3details
#15ACCEPTED0.10 s3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:17:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (v.size() != n) {
                     ^
input/code.cpp:35:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     while (v.size() != n) {
                     ^

Code

#include <iostream>
#include <algorithm>
#include <vector>
#define N 2048
#define M 1000000007

using namespace std;

int main()
{
    int n, k;
    cin>>n>>k;
    vector<int> v;
    int cb = 1;
    int c = cb;

    while (v.size() != n) {
        /*if (cb > 1) {
            if (v[v.size() - 1] - c < k) {
                cout<<"QAQ"<<endl;
                goto fail;
            }
        }*/
        while (c <= n) {
            v.push_back(c);
            c += k;
        }
        cb++;
        c = cb;
    }
    cb--;
    c = cb;
    v.clear();
    int t = cb;
    while (v.size() != n) {
        if (cb != t) {
            if (v[v.size() - 1] - c < k) {
                cout<<"QAQ"<<endl;
                goto fail;
            }
        }
        while (c <= n) {
            v.push_back(c);
            c += k;
        }
        cb--;
        c = cb;
    }

    for (int i : v) {
        cout<<i<<" ";
    }
    cout<<endl;

    fail:;
}

/*long long ans = 0;

void brute (vector<pair<int, int> > v, const int i, const int n, const int k, pair<int, int> p) {
    if (p.first != -1) v.push_back(p);
    for (int x = v.size() == 0 ? 0 : v[v.size() - 1].first; x < n; x++) {
        for (int y = v.size() == 0 ? 0 : v[v.size() - 1].second; y < n; y++) {
            bool b = true;

            for (pair<int, int> l : v) {
                if (x + y == l.first + l.second || x - l.first == y - l.second) {
                    b = false;
                    break;
                }
            }

            if (b) {
                if (i + 1 == k) ans++;
                else {
                    brute(v, i + 1, n, k, make_pair(x, y));
                }
            }
        }
    }
}

int main()
{
    int n, k;
    cin>>n>>k;
    vector<pair<int, int> > v;

    brute(v, 0, n, k, make_pair(-1, -1));

    cout<<ans % M<<endl;
}
*/

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
2 2

correct output
QAQ

user output
QAQ

Test 2

Group: 1

Verdict: ACCEPTED

input
3 2

correct output
QAQ

user output
QAQ

Test 3

Group: 1

Verdict: ACCEPTED

input
4 2

correct output
3 1 4 2 

user output
2 4 1 3 

Test 4

Group: 1

Verdict: ACCEPTED

input
7 4

correct output
QAQ

user output
QAQ

Test 5

Group: 1

Verdict: ACCEPTED

input
8 4

correct output
5 1 6 2 7 3 8 4 

user output
4 8 3 7 2 6 1 5 

Test 6

Group: 2

Verdict: ACCEPTED

input
80476 2

correct output
40239 1 40240 2 40241 3 40242 ...

user output
2 4 6 8 10 12 14 16 18 20 22 2...

Test 7

Group: 2

Verdict: ACCEPTED

input
68652 2

correct output
34327 1 34328 2 34329 3 34330 ...

user output
2 4 6 8 10 12 14 16 18 20 22 2...

Test 8

Group: 2

Verdict: ACCEPTED

input
62735 2

correct output
31368 1 31369 2 31370 3 31371 ...

user output
2 4 6 8 10 12 14 16 18 20 22 2...

Test 9

Group: 2

Verdict: ACCEPTED

input
71954 2

correct output
35978 1 35979 2 35980 3 35981 ...

user output
2 4 6 8 10 12 14 16 18 20 22 2...

Test 10

Group: 2

Verdict: ACCEPTED

input
4 2

correct output
3 1 4 2 

user output
2 4 1 3 

Test 11

Group: 3

Verdict: ACCEPTED

input
89814 3

correct output
44908 1 44909 2 44910 3 44911 ...

user output
3 6 9 12 15 18 21 24 27 30 33 ...

Test 12

Group: 3

Verdict: ACCEPTED

input
91140 5

correct output
45571 1 45572 2 45573 3 45574 ...

user output
5 10 15 20 25 30 35 40 45 50 5...

Test 13

Group: 3

Verdict: ACCEPTED

input
66703 16675

correct output
33352 1 33353 2 33354 3 33355 ...

user output
16675 33350 50025 66700 16674 ...

Test 14

Group: 3

Verdict: ACCEPTED

input
66666 33333

correct output
33334 1 33335 2 33336 3 33337 ...

user output
33333 66666 33332 66665 33331 ...

Test 15

Group: 3

Verdict: ACCEPTED

input
66666 33334

correct output
QAQ

user output
QAQ