NOIP 2017 普级组 图书管理员 librarian
2017-11-22 16:29
176 查看
题解:
为啥要用字符串,啥,字符树?不存在的。你看看数据,不超过10^7,果断暴力
预处理出10^1,10^2,10^3……10^8
给出需求码长度x,跟需求码y
你就把所有的编码mod 10^x 的值看是否等于y
在满足的数中找最小值即可。
时间复杂度:O(NQ)
var a:array [0..1001] of longint; num:array [1..8] of longint; n,q:longint; function min(aa,bb:longint):longint; begin if aa<bb then exit(aa); exit(bb); end; procedure init; var i:longint; begin readln(n,q); for i:=1 to n do readln(a[i]); num[1]:=10; for i:=2 to 8 do num[i]:=num[i-1]*10; end; procedure main; var cmin,i,j,x,y:longint; begin for i:=1 to q do begin readln(x,y); cmin:=maxlongint; for j:=1 to n do if a[j] mod num[x]=y then cmin:=min(cmin,a[j]); if cmin=maxlongint then writeln('-1') else writeln(cmin); end; end; begin init; main; end.
相关文章推荐
- 【NOIP普及组2017】图书管理员Librarian
- [NOIP2017普及组]T2图书管理员(前导0)
- [NOIP2017普及组]图书管理员
- 【JZOJ 5435】【NOIP2017提高A组集训10.30】Graph
- 【jzoj5347】【NOIP2017提高A组模拟9.5】【遥远的金字塔】【斜率优化动态规划】
- JZOJ5354. 【NOIP2017提高A组模拟9.9】导弹拦截
- JZOJ 5439. 【NOIP2017提高A组集训10.31】Calculate
- [NOIP2017模拟]Tree
- 【提高组NOIP2017】时间复杂度 题解 分治系统处理
- JZOJ 5439. 【NOIP2017提高A组集训10.31】Calculate
- [NOIP2017模拟]电影
- [NOIP2017模拟]鸭舌
- NOIP2017考前复习
- 【JZOJ5439】【NOIP2017提高A组集训10.31】Calculate
- [NOIP2017模拟]排列
- 【JZOJ 5452】【NOIP2017提高A组冲刺11.5】轰炸
- [JZOJ5451]【NOIP2017提高A组冲刺11.4】Genocide
- 5358. 【NOIP2017提高A组模拟9.12】BBQ
- JZOJ 5460. 【NOIP2017提高A组冲刺11.7】士兵训练
- 【NOIP2017模拟】猫&种花