Submission #688559

# Submission time Handle Problem Language Result Execution time Memory
688559 2023-01-27T17:52:45 Z alexdd DEL13 (info1cup18_del13) C++17
15 / 100
8 ms 1364 KB
#include<bits/stdc++.h>
using namespace std;
int n,q;
int v[100005];
int gap[100005];
vector<int> sol;
vector<int> sol2;
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    int t;
    cin>>t;
    while(t--)
    {
        sol.clear();
        sol2.clear();
        cin>>n>>q;
        for(int i=1;i<=q;i++)
        {
            cin>>v[i];
            gap[i-1]=v[i]-v[i-1]-1;
        }
        gap[q] = n - v[q];
        q++;
        v[q] = n+1;

        for(int i=1;i<q;i++)
        {
            while(gap[i-1]>0 && gap[i]>0)
            {
                gap[i-1]--;
                gap[i]--;
                sol.push_back(v[i]);
            }
        }
        bool impossible=0;
        for(int i=0;i<q;i++)
        {
            if(gap[i]==0)
                continue;
            if(gap[i]%2==1 || gap[i]==v[i+1]-v[i]-1)
            {
                impossible=1;
                break;
            }
            int mij=(v[i+1]+v[i])/2;
            while(gap[i]>0)
            {
                sol2.push_back(mij);
                gap[i]-=2;
            }
        }

        if(impossible)
        {
            cout<<-1<<"\n";
            continue;
        }
        cout<<sol.size() + sol2.size()<<"\n";
        for(int i=0;i<sol2.size();i++)
            cout<<sol2[i]<<" ";
        for(int i=0;i<sol.size();i++)
            cout<<sol[i]<<" ";
        cout<<"\n";
    }
    return 0;
}

Compilation message

del13.cpp: In function 'int main()':
del13.cpp:60:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |         for(int i=0;i<sol2.size();i++)
      |                     ~^~~~~~~~~~~~
del13.cpp:62:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   62 |         for(int i=0;i<sol.size();i++)
      |                     ~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Incorrect 1 ms 340 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Incorrect 1 ms 340 KB Output isn't correct
3 Incorrect 3 ms 340 KB Output isn't correct
4 Incorrect 3 ms 340 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 596 KB Output is correct
2 Correct 2 ms 724 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Incorrect 1 ms 340 KB Output isn't correct
3 Incorrect 3 ms 340 KB Output isn't correct
4 Incorrect 3 ms 340 KB Output isn't correct
5 Incorrect 1 ms 340 KB Output isn't correct
6 Incorrect 1 ms 340 KB Output isn't correct
7 Incorrect 1 ms 340 KB Output isn't correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 340 KB Output isn't correct
2 Incorrect 1 ms 340 KB Output isn't correct
3 Incorrect 3 ms 340 KB Output isn't correct
4 Incorrect 3 ms 340 KB Output isn't correct
5 Incorrect 1 ms 340 KB Output isn't correct
6 Incorrect 1 ms 340 KB Output isn't correct
7 Incorrect 1 ms 340 KB Output isn't correct
8 Incorrect 5 ms 980 KB Output isn't correct
9 Incorrect 6 ms 1028 KB Output isn't correct
10 Incorrect 5 ms 988 KB Output isn't correct
11 Incorrect 8 ms 1364 KB Output isn't correct