6209 | 2023-11-08 09:30:35 | EsVagy | Diana and Numbers | cpp17 | Hibás válasz 0/100 | 41ms | 6448 KiB |
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int tests;
cin >> tests;
for (int test = 0; test < tests; test++)
{
string number;
cin >> number;
vector<vector<int>> numbers(10);
for (int i = 0; i < 10; i++)
{
numbers.push_back(vector<int>());
}
int mod1Count = 0;
int mod2Count = 0;
int mod = 0;
for (int i = 0; i < number.size(); i++)
{
int curr = number[i] - 48;
int currMod = curr % 3;
switch (currMod)
{
case 1:
mod1Count++;
mod += 1;
mod %= 3;
break;
case 2:
mod2Count++;
mod += 2;
mod %= 3;
break;
}
numbers[curr].push_back(i);
}
if (mod == 0)
{
cout << number << "\n";
continue;
}
int findCount = 0;
int findMod = 0;
if (mod == 1)
{
if (mod1Count >= 1)
{
findCount = 1;
findMod = 1;
}
else if (mod2Count >= 2)
{
findCount = 2;
findMod = 2;
}
else
{
cout << -1 << "\n";
continue;
}
}
else
{
if (mod2Count >= 1)
{
findCount = 1;
findMod = 2;
}
else if (mod1Count >= 2)
{
findCount = 2;
findMod = 1;
}
else
{
cout << -1 << "\n";
continue;
}
}
vector<int> removeAt;
for (int i = 0; i < 9; i++)
{
for (int j = 0; j < numbers[i].size(); j++)
{
if (i % 3 != findMod)
{
continue;
}
removeAt.push_back(numbers[i][j]);
findCount--;
if (findCount == 0)
{
break;
}
}
if (findCount == 0)
{
break;
}
}
int start = 0;
int size = 0;
for (int i : removeAt)
{
cout << number.substr(start, i - start);
size += i - start;
start = i + 1;
while (size == 0 && number[start] == '0')
{
start++;
}
}
cout << number.substr(start, number.size() - start);
size += number.size() - start;
if (size == 0)
{
cout << "-1";
}
cout << "\n";
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
subtask1 | 0/0 | ||||||
1 | Elfogadva | 3ms | 1680 KiB | ||||
subtask2 | 0/9 | ||||||
2 | Hibás válasz | 3ms | 1932 KiB | ||||
3 | Hibás válasz | 3ms | 2176 KiB | ||||
subtask3 | 0/12 | ||||||
4 | Hibás válasz | 3ms | 2392 KiB | ||||
5 | Hibás válasz | 3ms | 2620 KiB | ||||
6 | Hibás válasz | 3ms | 2848 KiB | ||||
7 | Hibás válasz | 3ms | 2816 KiB | ||||
8 | Hibás válasz | 3ms | 2876 KiB | ||||
9 | Hibás válasz | 3ms | 3120 KiB | ||||
subtask4 | 0/27 | ||||||
10 | Hibás válasz | 32ms | 5188 KiB | ||||
subtask5 | 0/52 | ||||||
11 | Hibás válasz | 18ms | 3580 KiB | ||||
12 | Hibás válasz | 34ms | 3860 KiB | ||||
13 | Hibás válasz | 39ms | 5600 KiB | ||||
14 | Hibás válasz | 41ms | 5308 KiB | ||||
15 | Hibás válasz | 26ms | 4040 KiB | ||||
16 | Hibás válasz | 37ms | 5828 KiB | ||||
17 | Hibás válasz | 32ms | 5652 KiB | ||||
18 | Hibás válasz | 26ms | 4216 KiB | ||||
19 | Hibás válasz | 27ms | 5796 KiB | ||||
20 | Hibás válasz | 37ms | 6448 KiB | ||||
21 | Hibás válasz | 3ms | 4280 KiB | ||||
22 | Hibás válasz | 3ms | 4316 KiB | ||||
23 | Hibás válasz | 3ms | 4420 KiB | ||||
24 | Hibás válasz | 3ms | 4532 KiB | ||||
25 | Hibás válasz | 3ms | 4768 KiB | ||||
26 | Hibás válasz | 3ms | 4404 KiB |