B. Hamster Farm

time limit per test2 seconds

memory limit per test256 megabytes

Problem Description

Dima has a hamsters farm. Soon N hamsters will grow up on it and Dima will sell them in a city nearby.

Hamsters should be transported in boxes. If some box is not completely full, the hamsters in it are bored, that’s why each box should be completely full with hamsters.

Dima can buy boxes at a factory. The factory produces boxes of K kinds, boxes of the i-th kind can contain in themselves ai hamsters. Dima can buy any amount of boxes, but he should buy boxes of only one kind to get a wholesale discount.

Of course, Dima would buy boxes in such a way that each box can be completely filled with hamsters and transported to the city. If there is no place for some hamsters, Dima will leave them on the farm.

Find out how many boxes and of which type should Dima buy to transport maximum number of hamsters.

Input

The first line contains two integers N and K (0 ≤ N ≤ 10e18, 1 ≤ K ≤ 10e5) — the number of hamsters that will grow up on Dima’s farm and the number of types of boxes that the factory produces.

The second line contains K integers a1, a2, …, aK (1 ≤ ai ≤ 10e18 for all i) — the capacities of boxes.

Output

Output two integers: the type of boxes that Dima should buy and the number of boxes of that type Dima should buy. Types of boxes are numbered from 1 to K in the order they are given in input.

If there are many correct answers, output any of them.

Examples

input

19 3

5 4 10

output

2 4

input

28 3

5 6 30

output

1 5


解题心得:

  1. 题意是一个农夫有n只仓鼠,k中笼子,每种笼子可以装Ki只仓鼠,只有笼子装满才能将仓鼠带走,选择一种笼子,要使带走的仓鼠最多,问最少要多少个笼子。
  2. 暴力,每次mod一下找最小值。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5+100;
ll k[maxn],sum,K; int main(){
scanf("%lld%lld",&sum,&K);
ll ans_pos = -1,Min = 1e18;
for(int i=1;i<=K;i++){
scanf("%lld",&k[i]);
ll temp = sum%k[i];
if(temp < Min){
Min = temp;
ans_pos = i;
}
}
printf("%lld %lld",ans_pos,sum/k[ans_pos]);
return 0;
}

最新文章

  1. keleyi菜单0.1.5版本发布了
  2. [Java基础] Java中List.remove报错UnsupportedOperationException
  3. No.016:3Sum Closest
  4. tengine安装lua
  5. 利用Boost影响Lucene查询结果的排序
  6. WCF再学习小结
  7. Adobe Illustrator CS6 绿色简体中文版下载地址
  8. Water Tree
  9. 妈妈再也不用担心我的移动端了:网易和淘宝的rem方案剖析
  10. .net 4.0 中的特性总结(五):并行编程
  11. log4j配置文件详解(转)
  12. Java中的基本类型和引用类型变量的区别
  13. windows安装IDEA
  14. Linux下安装VMware Tools(使虚拟机支持文件拖拽)
  15. Python_Mix*函数名的使用以及第一类对象,闭包,迭代器,for循环的内部机制
  16. Django 下载和初识
  17. poj3280 Cheapest Palindrome(回文串区间dp)
  18. python批量插入mysql数据库(性能相关)以及反引号的使用
  19. 【题解】Arpa&#39;s letter-marked tree and Mehrdad&#39;s Dokhtar-kosh paths Codeforces 741D DSU on Tree
  20. CF835 D DP

热门文章

  1. orcale开篇
  2. 关于WebStorm,PhpStorm新版本输入中文问题
  3. concurrent.futures模块与协程
  4. NGSL + NAWL 单词表 以及学习网站
  5. 【Shell脚本学习22】Shell 函数:Shell函数返回值、删除函数、在终端调用函数
  6. jeesite应用实战(数据增删改查),认真读完后10分钟就能开发一个模块
  7. python 之Requests库学习笔记
  8. js基础笔录
  9. apply()技巧
  10. 关于C#的垃圾回收机制,Finalize和Dispose的区别(自认为很清晰了,有疑问的评论)