QOJ.ac

QOJ

Limite de temps : 1 s Limite de mémoire : 512 MB Points totaux : 100

#3428. 垃圾邮件过滤器

Statistiques

Goo 在一家不幸无法透露名称的知名斯洛伐克杀毒软件公司工作。除了杀毒软件外,他们还在开发垃圾邮件过滤器。最近,Goo 对过滤器进行了一些改进,并希望向老板展示他的进展。正如你所能想象的那样,展示实现的底层细节并不是给老板留下深刻印象的好方法,因此 Goo 决定制作一份包含大量展示过滤结果图表的演示文稿。公司拥有一个庞大的电子邮件数据库,每封邮件都被标记为垃圾邮件(spam)或正常邮件(ham,即非垃圾邮件)。这些邮件均由人工正确标记——公司里的某人每次收到邮件时,都会将其标记为垃圾邮件或正常邮件,并添加到数据库中。

Photo by AJ Cann

Goo 的程序成功率可以通过一种简单的方式来衡量。Goo 在数据库中的所有邮件上运行了他的程序。对于每条消息,他记录了他的程序是否正确判断了该消息是垃圾邮件还是正常邮件。消息是按照从最旧到最新的顺序处理的。为了给老板留下深刻印象,Goo 希望从一段时间内选择邮件,并仅计算该时期的成功率。当然,仅包含一封邮件的时期无法打动任何人,因此 Goo 希望选择一个足够长的时期。

任务

给定一个测试结果序列和一个数字 $k$。你的任务是找到一个长度至少为 $k$ 的连续子序列,使其在所有此类子序列中具有最高的成功率。子序列的成功率定义为成功分类的邮件数量除以子序列的长度。

输入格式

第一行包含一个整数 $k$ ($1 \le k \le 100$),表示最小子序列长度。第二行包含一个由字符 0 和 1 组成的字符串,表示程序对数据库中每封邮件的回答。数字 1 表示 Goo 的程序给出了正确答案,0 表示失败。字符串的长度至少为 $k$,最多为 $100\,000$ 个字符。

输出格式

输出的第一行也是唯一一行应包含两个整数 $f$ 和 $\ell$,中间用一个空格隔开。整数 $f$ 是具有最佳成功率的子序列的第一个元素的 1-based 索引,$\ell$ 是其长度。如果存在多个最优解,你可以输出其中任意一个。

样例

输入格式 1

1
01

输出格式 1

2 1

输入格式 2

4
0110011

输出格式 2

2 6

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.