Po długiej i wytrwałej walce uzyskałem taki kod, lecz spoj upiera się, że WA. Czy ktoś potrafiłby mi wskazać mój błąd?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace strony
{
class Program
{
static void Main(string[] args)
{
string[] data = Console.ReadLine().Split(' ');
int recordscount = int.Parse(data[0]);
int perpage = int.Parse(data[1]);
string[] records = new string[100000];
int max = recordscount / perpage;
if (recordscount % perpage != 0)
{
max++;
}
for (int i = recordscount - 1; i > -1; i--)
{
records[i] = Console.ReadLine();
}
recordscount--;
int queries = int.Parse(Console.ReadLine());
int page = 0;
int start = 0;
for (int j = 0; j < queries; j++)
{
page = int.Parse(Console.ReadLine());
start = (page - 1) * perpage;
if (page > max)
{
Console.WriteLine("HTTP 404");
}
else
{
StringBuilder sb = new StringBuilder(1000);
int end = Math.Min(start + perpage, recordscount + 1);
for (int k = start; k < end; k++)
{
sb.Append(records[k]);
sb.Append("\n");
}
if (page > 5)
{
sb.Append("[1]");
sb.Append(" ...");
for (int l = page - 3; l < page; l++)
{
sb.Append(' ');
sb.Append('[');
sb.Append(l);
sb.Append(']');
}
sb.Append(' ');
}
else
{
for (int l = 1; l < page; l++)
{
sb.Append('[');
sb.Append(l);
sb.Append(']');
sb.Append(' ');
}
}
sb.Append(page);
if (max - page > 5)
{
for (int m = page + 1; m < page + 4; m++)
{
sb.Append(' ');
sb.Append('[');
sb.Append(m);
sb.Append(']');
}
sb.Append(" ... ");
sb.Append('[');
sb.Append(max);
sb.Append(']');
}
else
{
for (int m = page + 1; m <= max; m++)
{
sb.Append(' ');
sb.Append('[');
sb.Append(m);
sb.Append(']');
}
}
Console.WriteLine(sb);
}
if (j != queries - 1)
{
Console.WriteLine();
}
}
}
}
}
created
last reply
- 5
replies
- 837
views
- 3
users