mirror of
https://gitlab.com/mfocko/Codeforces.git
synced 2024-12-22 19:31:28 +01:00
1036 lines
63 KiB
HTML
1036 lines
63 KiB
HTML
|
|
|||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
|
|||
|
<html lang="en">
|
|||
|
<head>
|
|||
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|||
|
<meta name="X-Csrf-Token" content="62a0545bde7eb00bc3582cdc617f004a"/>
|
|||
|
<meta id="viewport" name="viewport" content="width=device-width, initial-scale=0.01"/>
|
|||
|
|
|||
|
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/0/js/jquery-1.8.3.js"></script>
|
|||
|
<script type="application/javascript">
|
|||
|
window.locale = "en";
|
|||
|
window.standaloneContest = false;
|
|||
|
function adjustViewport() {
|
|||
|
var screenWidthPx = Math.min($(window).width(), window.screen.width);
|
|||
|
var siteWidthPx = 1100; // min width of site
|
|||
|
var ratio = Math.min(screenWidthPx / siteWidthPx, 1.0);
|
|||
|
var viewport = "width=device-width, initial-scale=" + ratio;
|
|||
|
$('#viewport').attr('content', viewport);
|
|||
|
var style = $('<style>html * { max-height: 1000000px; }</style>');
|
|||
|
$('html > head').append(style);
|
|||
|
}
|
|||
|
|
|||
|
if ( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
|
|||
|
adjustViewport();
|
|||
|
}
|
|||
|
|
|||
|
/* Protection against trailing dot in domain. */
|
|||
|
let hostLength = window.location.host.length;
|
|||
|
if (hostLength > 1 && window.location.host[hostLength - 1] === '.') {
|
|||
|
window.location = window.location.protocol + "//" + window.location.host.substring(0, hostLength - 1);
|
|||
|
}
|
|||
|
</script>
|
|||
|
<meta http-equiv="pragma" content="no-cache">
|
|||
|
<meta http-equiv="expires" content="-1">
|
|||
|
<meta http-equiv="profileName" content="f1">
|
|||
|
<meta name="google-site-verification" content="OTd2dN5x4nS4OPknPI9JFg36fKxjqY0i1PSfFPv_J90"/>
|
|||
|
<meta property="fb:admins" content="100001352546622" />
|
|||
|
<meta property="og:image" content="//codeforces.org/s/0/images/codeforces-sponsored-by-ton.png" />
|
|||
|
<link rel="image_src" href="//codeforces.org/s/0/images/codeforces-sponsored-by-ton.png" />
|
|||
|
<meta property="og:title" content="Problems - Codeforces"/>
|
|||
|
<meta property="og:description" content=""/>
|
|||
|
|
|||
|
<meta property="og:site_name" content="Codeforces"/>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<meta name="utc_offset" content="+03:00"/>
|
|||
|
<meta name="verify-reformal" content="f56f99fd7e087fb6ccb48ef2" />
|
|||
|
<title>Problems - Codeforces</title>
|
|||
|
<meta name="description" content="Codeforces. Programming competitions and contests, programming community" />
|
|||
|
<meta name="keywords" content="programming algorithm contest competition informatics olympiads c++ java graphs vkcup" />
|
|||
|
<meta name="robots" content="index, follow" />
|
|||
|
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/font-awesome.min.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/line-awesome.min.css" type="text/css" charset="utf-8" />
|
|||
|
|
|||
|
<link href='//fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
|
|||
|
<link href='//fonts.googleapis.com/css?family=Cuprum&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
|
|||
|
|
|||
|
|
|||
|
<link rel="apple-touch-icon" sizes="57x57" href="//codeforces.org/s/0/apple-icon-57x57.png">
|
|||
|
<link rel="apple-touch-icon" sizes="60x60" href="//codeforces.org/s/0/apple-icon-60x60.png">
|
|||
|
<link rel="apple-touch-icon" sizes="72x72" href="//codeforces.org/s/0/apple-icon-72x72.png">
|
|||
|
<link rel="apple-touch-icon" sizes="76x76" href="//codeforces.org/s/0/apple-icon-76x76.png">
|
|||
|
<link rel="apple-touch-icon" sizes="114x114" href="//codeforces.org/s/0/apple-icon-114x114.png">
|
|||
|
<link rel="apple-touch-icon" sizes="120x120" href="//codeforces.org/s/0/apple-icon-120x120.png">
|
|||
|
<link rel="apple-touch-icon" sizes="144x144" href="//codeforces.org/s/0/apple-icon-144x144.png">
|
|||
|
<link rel="apple-touch-icon" sizes="152x152" href="//codeforces.org/s/0/apple-icon-152x152.png">
|
|||
|
<link rel="apple-touch-icon" sizes="180x180" href="//codeforces.org/s/0/apple-icon-180x180.png">
|
|||
|
<link rel="icon" type="image/png" sizes="192x192" href="//codeforces.org/s/0/android-icon-192x192.png">
|
|||
|
<link rel="icon" type="image/png" sizes="32x32" href="//codeforces.org/s/0/favicon-32x32.png">
|
|||
|
<link rel="icon" type="image/png" sizes="96x96" href="//codeforces.org/s/0/favicon-96x96.png">
|
|||
|
<link rel="icon" type="image/png" sizes="16x16" href="//codeforces.org/s/0/favicon-16x16.png">
|
|||
|
<link rel="manifest" href="/manifest.json">
|
|||
|
<meta name="msapplication-TileColor" content="#ffffff">
|
|||
|
<meta name="msapplication-TileImage" content="//codeforces.org/s/0/ms-icon-144x144.png">
|
|||
|
<meta name="theme-color" content="#ffffff">
|
|||
|
|
|||
|
<!--CombineResourcesFilter-->
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/prettify.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/clear.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/style.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/ttypography.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/problem-statement.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/second-level-menu.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/roundbox.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/datatable.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/table-form.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/topic.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/jquery.jgrowl.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/facebox.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/jquery.wysiwyg.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/jquery.autocomplete.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/codeforces.datepick.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/colorbox.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/jquery.drafts.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/community.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/css/sidebar-menu.css" type="text/css" charset="utf-8" />
|
|||
|
|
|||
|
<!-- MathJax -->
|
|||
|
<script type="text/x-mathjax-config">
|
|||
|
MathJax.Hub.Config({
|
|||
|
tex2jax: {inlineMath: [['$$$','$$$']], displayMath: [['$$$$$$','$$$$$$']]}
|
|||
|
});
|
|||
|
MathJax.Hub.Register.StartupHook("End", function () {
|
|||
|
Codeforces.runMathJaxListeners();
|
|||
|
});
|
|||
|
</script>
|
|||
|
<script type="text/javascript" async
|
|||
|
src="https://cdn-mathjax.codeforces.com/MathJax.js?config=TeX-AMS_HTML-full"
|
|||
|
>
|
|||
|
</script>
|
|||
|
<!-- /MathJax -->
|
|||
|
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/prettify/prettify.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/moment-with-locales.min.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/pushstream.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.easing.min.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.lavalamp.min.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.jgrowl.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.swipe.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.hotkeys.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/facebox.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.wysiwyg.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/controls/wysiwyg.colorpicker.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/controls/wysiwyg.table.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/controls/wysiwyg.image.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/controls/wysiwyg.link.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.autocomplete.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.datepick.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.ie6blocker.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.colorbox-min.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.ba-bbq.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/jquery.drafts.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/clipboard.min.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/autosize.min.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/sjcl.js"></script>
|
|||
|
<script type="text/javascript" src="/scripts/7524722dd28773e2987937a750cd80cd/en/codeforces-options.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/codeforces.js?v=20160131"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/EventCatcher.js?v=20160131"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/preparedVerdictFormats-en.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/js/confetti.min.js"></script>
|
|||
|
<!--/CombineResourcesFilter-->
|
|||
|
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/markitup/skins/markitup/style.css" type="text/css" charset="utf-8" />
|
|||
|
<link rel="stylesheet" href="//codeforces.org/s/62837/markitup/sets/markdown/style.css" type="text/css" charset="utf-8" />
|
|||
|
|
|||
|
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/markitup/jquery.markitup.js"></script>
|
|||
|
<script type="text/javascript" src="//codeforces.org/s/62837/markitup/sets/markdown/set.js"></script>
|
|||
|
|
|||
|
<!--[if IE]>
|
|||
|
<style>
|
|||
|
#sidebar {
|
|||
|
padding-left: 1em;
|
|||
|
margin: 1em 1em 1em 0;
|
|||
|
}
|
|||
|
</style>
|
|||
|
<![endif]-->
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
</head>
|
|||
|
<body class=" "><span style='display:none;' class='csrf-token' data-csrf='62a0545bde7eb00bc3582cdc617f004a'> </span>
|
|||
|
|
|||
|
<!-- .notificationTextCleaner used in Codeforces.showAnnouncements() -->
|
|||
|
<div class="notificationTextCleaner" style="font-size: 0"></div>
|
|||
|
<div class="button-up" style="display: none; opacity: 0.7; width: 50px; height:100%; position: fixed; left: 0; top: 0; cursor: pointer; text-align: center; line-height: 35px; color: #d3dbe4; font-weight: bold; font-size: 3.0rem;"><i class="icon-circle-arrow-up"></i></div>
|
|||
|
<div class="verdictPrototypeDiv" style="display: none;"></div>
|
|||
|
|
|||
|
<!-- Codeforces JavaScripts. -->
|
|||
|
<script type="text/javascript">
|
|||
|
String.prototype.hashCode = function() {
|
|||
|
var hash = 0, i, chr;
|
|||
|
if (this.length === 0) return hash;
|
|||
|
for (i = 0; i < this.length; i++) {
|
|||
|
chr = this.charCodeAt(i);
|
|||
|
hash = ((hash << 5) - hash) + chr;
|
|||
|
hash |= 0; // Convert to 32bit integer
|
|||
|
}
|
|||
|
return hash;
|
|||
|
};
|
|||
|
|
|||
|
var queryMobile = Codeforces.queryString.mobile;
|
|||
|
if (queryMobile === "true" || queryMobile === "false") {
|
|||
|
Codeforces.putToStorage("useMobile", queryMobile === "true");
|
|||
|
} else {
|
|||
|
var useMobile = Codeforces.getFromStorage("useMobile");
|
|||
|
if (useMobile === true || useMobile === false) {
|
|||
|
if (useMobile != false) {
|
|||
|
Codeforces.redirect(Codeforces.updateUrlParameter(document.location.href, "mobile", useMobile));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
if (window.parent.frames.length > 0) {
|
|||
|
window.stop();
|
|||
|
}
|
|||
|
</script>
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
$(document).ready(function () {
|
|||
|
(function () {
|
|||
|
jQuery.expr[':'].containsCI = function(elem, index, match) {
|
|||
|
return !match || !match.length || match.length < 4 || !match[3] || (
|
|||
|
elem.textContent || elem.innerText || jQuery(elem).text() || ''
|
|||
|
).toLowerCase().indexOf(match[3].toLowerCase()) >= 0;
|
|||
|
}
|
|||
|
}(jQuery));
|
|||
|
|
|||
|
$.ajaxPrefilter(function(options, originalOptions, xhr) {
|
|||
|
var csrf = Codeforces.getCsrfToken();
|
|||
|
|
|||
|
if (csrf) {
|
|||
|
var data = originalOptions.data;
|
|||
|
if (originalOptions.data !== undefined) {
|
|||
|
if (Object.prototype.toString.call(originalOptions.data) === '[object String]') {
|
|||
|
data = $.deparam(originalOptions.data);
|
|||
|
}
|
|||
|
} else {
|
|||
|
data = {};
|
|||
|
}
|
|||
|
options.data = $.param($.extend(data, { csrf_token: csrf }));
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
window.getCodeforcesServerTime = function(callback) {
|
|||
|
$.post("/data/time", {}, callback, "json");
|
|||
|
}
|
|||
|
|
|||
|
window.updateTypography = function () {
|
|||
|
$("div.ttypography code").addClass("tt");
|
|||
|
$("div.ttypography pre>code").addClass("prettyprint").removeClass("tt");
|
|||
|
$("div.ttypography table").addClass("bordertable");
|
|||
|
prettyPrint();
|
|||
|
}
|
|||
|
|
|||
|
$.ajaxSetup({ scriptCharset: "utf-8" ,contentType: "application/x-www-form-urlencoded; charset=UTF-8", headers: {
|
|||
|
'X-Csrf-Token': Codeforces.getCsrfToken()
|
|||
|
}});
|
|||
|
|
|||
|
window.updateTypography();
|
|||
|
|
|||
|
Codeforces.signForms();
|
|||
|
|
|||
|
setTimeout(function() {
|
|||
|
$(".second-level-menu-list").lavaLamp({
|
|||
|
fx: "backout",
|
|||
|
speed: 700
|
|||
|
});
|
|||
|
}, 100);
|
|||
|
|
|||
|
|
|||
|
Codeforces.countdown();
|
|||
|
$("a[rel='photobox']").colorbox();
|
|||
|
|
|||
|
|
|||
|
function showAnnouncements(json) {
|
|||
|
//info("j=" + JSON.stringify(json));
|
|||
|
|
|||
|
if (json.t != "a") {
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
setTimeout(function() {
|
|||
|
Codeforces.showAnnouncements(json.d, "en");
|
|||
|
}, Math.random() * 500);
|
|||
|
}
|
|||
|
|
|||
|
function showEventCatcherUserMessage(json) {
|
|||
|
if (json.t == "s") {
|
|||
|
var points = json.d[5];
|
|||
|
var passedTestCount = json.d[7];
|
|||
|
var judgedTestCount = json.d[8];
|
|||
|
var verdict = preparedVerdictFormats[json.d[12]];
|
|||
|
var verdictPrototypeDiv = $(".verdictPrototypeDiv");
|
|||
|
verdictPrototypeDiv.html(verdict);
|
|||
|
if (judgedTestCount != null && judgedTestCount != undefined) {
|
|||
|
verdictPrototypeDiv.find(".verdict-format-judged").text(judgedTestCount);
|
|||
|
}
|
|||
|
if (passedTestCount != null && passedTestCount != undefined) {
|
|||
|
verdictPrototypeDiv.find(".verdict-format-passed").text(passedTestCount);
|
|||
|
}
|
|||
|
if (points != null && points != undefined) {
|
|||
|
verdictPrototypeDiv.find(".verdict-format-points").text(points);
|
|||
|
}
|
|||
|
Codeforces.showMessage(verdictPrototypeDiv.text());
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
$(".clickable-title").each(function() {
|
|||
|
var title = $(this).attr("data-title");
|
|||
|
if (title) {
|
|||
|
var tmp = document.createElement("DIV");
|
|||
|
tmp.innerHTML = title;
|
|||
|
$(this).attr("title", tmp.textContent || tmp.innerText || "");
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
$(".clickable-title").click(function() {
|
|||
|
var title = $(this).attr("data-title");
|
|||
|
if (title) {
|
|||
|
Codeforces.alert(title);
|
|||
|
} else {
|
|||
|
Codeforces.alert($(this).attr("title"));
|
|||
|
}
|
|||
|
}).css("position", "relative").css("bottom", "3px");
|
|||
|
|
|||
|
Codeforces.showDelayedMessage();
|
|||
|
|
|||
|
Codeforces.reformatTimes();
|
|||
|
|
|||
|
//Codeforces.initializePubSub();
|
|||
|
if (window.codeforcesOptions.subscribeServerUrl) {
|
|||
|
window.eventCatcher = new EventCatcher(
|
|||
|
window.codeforcesOptions.subscribeServerUrl,
|
|||
|
[
|
|||
|
Codeforces.getGlobalChannel(),
|
|||
|
Codeforces.getUserChannel(),
|
|||
|
Codeforces.getUserShowMessageChannel(),
|
|||
|
Codeforces.getContestChannel(),
|
|||
|
Codeforces.getParticipantChannel(),
|
|||
|
Codeforces.getTalkChannel()
|
|||
|
]
|
|||
|
);
|
|||
|
|
|||
|
if (Codeforces.getParticipantChannel()) {
|
|||
|
window.eventCatcher.subscribe(Codeforces.getParticipantChannel(), function(json) {
|
|||
|
showAnnouncements(json);
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
if (Codeforces.getContestChannel()) {
|
|||
|
window.eventCatcher.subscribe(Codeforces.getContestChannel(), function(json) {
|
|||
|
showAnnouncements(json);
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
if (Codeforces.getGlobalChannel()) {
|
|||
|
window.eventCatcher.subscribe(Codeforces.getGlobalChannel(), function(json) {
|
|||
|
showAnnouncements(json);
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
if (Codeforces.getUserChannel()) {
|
|||
|
window.eventCatcher.subscribe(Codeforces.getUserChannel(), function(json) {
|
|||
|
showAnnouncements(json);
|
|||
|
});
|
|||
|
}
|
|||
|
|
|||
|
if (Codeforces.getUserShowMessageChannel()) {
|
|||
|
window.eventCatcher.subscribe(Codeforces.getUserShowMessageChannel(), function(json) {
|
|||
|
showEventCatcherUserMessage(json);
|
|||
|
});
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
Codeforces.setupContestTimes("/data/contests");
|
|||
|
Codeforces.setupSpoilers();
|
|||
|
Codeforces.setupTutorials("/data/problemTutorial");
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
var _gaq = _gaq || [];
|
|||
|
_gaq.push(['_setAccount', 'UA-743380-5']);
|
|||
|
_gaq.push(['_trackPageview']);
|
|||
|
|
|||
|
(function () {
|
|||
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|||
|
ga.src = (document.location.protocol == 'https:' ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|||
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
|||
|
})();
|
|||
|
</script>
|
|||
|
|
|||
|
|
|||
|
<div id="body">
|
|||
|
<div style="width: 950px; margin: 0 auto;" class="compact-problemset">
|
|||
|
<div id="header" style="position: relative; margin: 0;">
|
|||
|
<div style="float:left;">
|
|||
|
<a href="/"><img height="65" style="height: 65px;" src="//codeforces.org/s/14919/images/codeforces-sponsored-by-ton.png" alt="Codeforces"/></a>
|
|||
|
</div>
|
|||
|
<div class="lang">
|
|||
|
<div style="text-align: right;">
|
|||
|
<a href="?locale=en"><img src="//codeforces.org/s/14919/images/flags/24/gb.png" title="In English" alt="In English"/></a>
|
|||
|
<a href="?locale=ru"><img src="//codeforces.org/s/14919/images/flags/24/ru.png" title="По-русски" alt="По-русски"/></a>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<br style="clear: both;"/>
|
|||
|
</div>
|
|||
|
|
|||
|
<br style="clear: both;"/>
|
|||
|
|
|||
|
<div style="text-align: center; font-size: 1.8rem; margin-bottom: 0.5em;"
|
|||
|
class="caption">Codeforces Beta Round 84 (Div. 2 Only)</div>
|
|||
|
<div style="border-top: 1px solid #ccc; height: 1em;"></div>
|
|||
|
|
|||
|
<div class="problem-frames">
|
|||
|
<div
|
|||
|
style="margin-bottom: 2em;"
|
|||
|
>
|
|||
|
|
|||
|
<style>
|
|||
|
#facebox .content:has(.diff-popup) {
|
|||
|
width: 90vw;
|
|||
|
max-width: 120rem !important;
|
|||
|
}
|
|||
|
|
|||
|
.testCaseMarker {
|
|||
|
position: absolute;
|
|||
|
font-weight: bold;
|
|||
|
font-size: 1rem;
|
|||
|
}
|
|||
|
|
|||
|
.diff-popup {
|
|||
|
width: 90vw;
|
|||
|
max-width: 120rem !important;
|
|||
|
display: none;
|
|||
|
overflow: auto;
|
|||
|
}
|
|||
|
|
|||
|
.input-output-copier {
|
|||
|
font-size: 1.2rem;
|
|||
|
float: right;
|
|||
|
color: #888 !important;
|
|||
|
cursor: pointer;
|
|||
|
border: 1px solid rgb(185, 185, 185);
|
|||
|
padding: 3px;
|
|||
|
margin: 1px;
|
|||
|
line-height: 1.1rem;
|
|||
|
text-transform: none;
|
|||
|
}
|
|||
|
|
|||
|
.input-output-copier:hover {
|
|||
|
background-color: #def;
|
|||
|
}
|
|||
|
|
|||
|
.test-explanation textarea {
|
|||
|
width: 100%;
|
|||
|
height: 1.5em;
|
|||
|
}
|
|||
|
|
|||
|
.pending-submission-message {
|
|||
|
color: darkorange !important;
|
|||
|
}
|
|||
|
</style>
|
|||
|
<script>
|
|||
|
const OPENING_SPACE = String.fromCharCode(1001);
|
|||
|
const CLOSING_SPACE = String.fromCharCode(1002);
|
|||
|
|
|||
|
const nodeToText = function (node, pre) {
|
|||
|
let result = [];
|
|||
|
|
|||
|
if (node.tagName === "SCRIPT" || node.tagName === "math"
|
|||
|
|| (node.classList && node.classList.contains("input-output-copier")))
|
|||
|
return [];
|
|||
|
|
|||
|
if (node.tagName === "NOBR") {
|
|||
|
result.push(OPENING_SPACE);
|
|||
|
}
|
|||
|
|
|||
|
if (node.nodeType === Node.TEXT_NODE) {
|
|||
|
let s = node.textContent;
|
|||
|
if (!pre) {
|
|||
|
s = s.replace(/\s+/g, " ");
|
|||
|
}
|
|||
|
if (s.length > 0) {
|
|||
|
result.push(s);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
if (pre && node.tagName === "BR") {
|
|||
|
result.push("\n");
|
|||
|
}
|
|||
|
|
|||
|
node.childNodes.forEach(function (child) {
|
|||
|
result.push(nodeToText(child, node.tagName === "PRE").join(""));
|
|||
|
});
|
|||
|
|
|||
|
if (node.tagName === "DIV"
|
|||
|
|| node.tagName === "P"
|
|||
|
|| node.tagName === "PRE"
|
|||
|
|| node.tagName === "UL"
|
|||
|
|| node.tagName === "LI"
|
|||
|
) {
|
|||
|
result.push("\n");
|
|||
|
}
|
|||
|
|
|||
|
if (node.tagName === "NOBR") {
|
|||
|
result.push(CLOSING_SPACE);
|
|||
|
}
|
|||
|
|
|||
|
return result;
|
|||
|
}
|
|||
|
|
|||
|
const isSpecial = function (c) {
|
|||
|
return c === ',' || c === '.' || c === ';' || c === ')' || c === ' ';
|
|||
|
}
|
|||
|
|
|||
|
const convertStatementToText = function(statmentNode) {
|
|||
|
const text = nodeToText(statmentNode, false).join("").replace(/ +/g, " ").replace(/\n\n+/g, "\n\n");
|
|||
|
let result = [];
|
|||
|
for (let i = 0; i < text.length; i++) {
|
|||
|
const c = text.charAt(i);
|
|||
|
if (c === OPENING_SPACE) {
|
|||
|
if (!((i > 0 && text.charAt(i - 1) === '(') || (result.length > 0 && result[result.length - 1] === ' '))) {
|
|||
|
result.push('+');
|
|||
|
}
|
|||
|
} else if (c === CLOSING_SPACE) {
|
|||
|
if (!(i + 1 < text.length && isSpecial(text.charAt(i + 1)))) {
|
|||
|
result.push('-');
|
|||
|
}
|
|||
|
} else {
|
|||
|
result.push(c);
|
|||
|
}
|
|||
|
}
|
|||
|
return result.join("").split("\n").map(value => value.trim()).join("\n");
|
|||
|
};
|
|||
|
</script>
|
|||
|
<div class="diff-popup">
|
|||
|
</div>
|
|||
|
|
|||
|
<div class="problemindexholder" problemindex="A" data-uuid="ps_18a48b9390692f90c0ed895666a9c691fa654fbd">
|
|||
|
<div style="display: none; margin:1em 0;text-align: center; position: relative;" class="alert alert-info diff-notifier">
|
|||
|
<div>The problem statement has recently been changed. <a class="view-changes" href="#">View the changes.</a></div>
|
|||
|
<span class="diff-notifier-close" style="position: absolute; top: 0.2em; right: 0.3em; cursor: pointer; font-size: 1.4em;">×</span>
|
|||
|
</div>
|
|||
|
<div class="ttypography"><div class="problem-statement"><div class="header"><div class="title">A. Nearly Lucky Number</div><div class="time-limit"><div class="property-title">time limit per test</div>2 seconds</div><div class="memory-limit"><div class="property-title">memory limit per test</div>256 megabytes</div><div class="input-file"><div class="property-title">input</div>standard input</div><div class="output-file"><div class="property-title">output</div>standard output</div></div><div><p><span class="tex-font-style-underline">Petya loves lucky numbers. We all know that lucky numbers are the positive integers whose decimal representations contain only the lucky digits <span class="tex-font-style-bf">4</span> and <span class="tex-font-style-bf">7</span>. For example, numbers <span class="tex-font-style-bf">47</span>, <span class="tex-font-style-bf">744</span>, <span class="tex-font-style-bf">4</span> are lucky and <span class="tex-font-style-bf">5</span>, <span class="tex-font-style-bf">17</span>, <span class="tex-font-style-bf">467</span> are not.</span></p><p>Unfortunately, not all numbers are lucky. Petya calls a number <span class="tex-font-style-underline">nearly lucky</span> if the number of lucky digits in it is a lucky number. He wonders whether number <span class="tex-span"><i>n</i></span> is a nearly lucky number.</p></div><div class="input-specification"><div class="section-title">Input</div><p>The only line contains an integer <span class="tex-span"><i>n</i></span> (<span class="tex-span">1 ≤ <i>n</i> ≤ 10<sup class="upper-index">18</sup></span>).</p><p>Please do not use the %lld specificator to read or write 64-bit numbers in С++. It is preferred to use the cin, cout streams or the %I64d specificator.</p></div><div class="output-specification"><div class="section-title">Output</div><p>Print on the single line "<span class="tex-font-style-tt">YES</span>" if <span class="tex-span"><i>n</i></span> is a nearly lucky number. Otherwise, print "<span class="tex-font-style-tt">NO</span>" (without the quotes).</p></div><div class="sample-tests"><div class="section-title">Examples</div><div class="sample-test"><div class="input"><div class="title">Input</div><pre>40047<br /></pre></div><div class="output"><div class="title">Output</div><pre>NO<br /></pre></div><div class="input"><div class="title">Input</div><pre>7747774<br /></pre></div><div class="output"><div class="title">Output</div><pre>YES<br /></pre></div><div class="input"><div class="title">Input</div><pre>1000000000000000000<br /></pre></div><div class="output"><div class="title">Output</div><pre>NO<br /></pre></div></div></div><div class="note"><div class="section-title">Note</div><p>In the first sample there are 3 lucky digits (first one and last two), so the answer is "<span class="tex-font-style-tt">NO</span>".</p><p>In the second sample there are 7 lucky digits, 7 is lucky number, so the answer is "<span class="tex-font-style-tt">YES</span>".</p><p>In the third sample there are no lucky digits, so the answer is "<span class="tex-font-style-tt">NO</span>".</p></div></div></div>
|
|||
|
</div>
|
|||
|
|
|||
|
<script>
|
|||
|
$(function () {
|
|||
|
Codeforces.addMathJaxListener(function () {
|
|||
|
let $problem = $("div[problemindex=A]");
|
|||
|
let uuid = $problem.attr("data-uuid");
|
|||
|
let statementText = convertStatementToText($problem.find(".ttypography").get(0));
|
|||
|
|
|||
|
let previousStatementText = Codeforces.getFromStorage(uuid);
|
|||
|
if (previousStatementText) {
|
|||
|
if (previousStatementText !== statementText) {
|
|||
|
$problem.find(".diff-notifier").show();
|
|||
|
|
|||
|
$problem.find(".diff-notifier-close").click(function() {
|
|||
|
Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60);
|
|||
|
$problem.find(".diff-notifier").hide();
|
|||
|
});
|
|||
|
|
|||
|
$problem.find("a.view-changes").click(function() {
|
|||
|
$.post("/data/diff", {action: "getDiff", a: previousStatementText, b: statementText}, function (result) {
|
|||
|
if (result["success"] === "true") {
|
|||
|
Codeforces.facebox(".diff-popup", "//codeforces.org/s/14919");
|
|||
|
$("#facebox .diff-popup").html(result["diff"]);
|
|||
|
}
|
|||
|
}, "json");
|
|||
|
});
|
|||
|
}
|
|||
|
} else {
|
|||
|
Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60);
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
$(document).ready(function () {
|
|||
|
window.changedTests = new Set();
|
|||
|
|
|||
|
function endsWith(string, suffix) {
|
|||
|
return string.indexOf(suffix, string.length - suffix.length) !== -1;
|
|||
|
}
|
|||
|
|
|||
|
const inputFileDiv = $("div.input-file");
|
|||
|
const inputFile = inputFileDiv.text();
|
|||
|
const outputFileDiv = $("div.output-file");
|
|||
|
const outputFile = outputFileDiv.text();
|
|||
|
|
|||
|
|
|||
|
if (!endsWith(inputFile, "standard input")
|
|||
|
&& !endsWith(inputFile, "standard input")) {
|
|||
|
inputFileDiv.attr("style", "font-weight: bold");
|
|||
|
}
|
|||
|
|
|||
|
if (!endsWith(outputFile, "standard output")
|
|||
|
&& !endsWith(outputFile, "standard output")) {
|
|||
|
outputFileDiv.attr("style", "font-weight: bold");
|
|||
|
}
|
|||
|
|
|||
|
const titleDiv = $("div.header div.title");
|
|||
|
|
|||
|
|
|||
|
|
|||
|
String.prototype.replaceAll = function (search, replace) {
|
|||
|
return this.split(search).join(replace);
|
|||
|
};
|
|||
|
|
|||
|
$(".sample-test .title").each(function () {
|
|||
|
const preId = ("id" + Math.random()).replaceAll(".", "0");
|
|||
|
const cpyId = ("id" + Math.random()).replaceAll(".", "0");
|
|||
|
|
|||
|
$(this).parent().find("pre").attr("id", preId);
|
|||
|
const $copy = $("<div title='Copy' data-clipboard-target='#" + preId + "' id='" + cpyId + "' class='input-output-copier'>Copy</div>");
|
|||
|
$(this).append($copy);
|
|||
|
|
|||
|
const clipboard = new Clipboard('#' + cpyId, {
|
|||
|
text: function (trigger) {
|
|||
|
const pre = document.querySelector('#' + preId);
|
|||
|
const lines = pre.querySelectorAll(".test-example-line");
|
|||
|
return Codeforces.filterClipboardText(pre.innerText, lines.length);
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
const isInput = $(this).parent().hasClass("input");
|
|||
|
|
|||
|
clipboard.on('success', function (e) {
|
|||
|
if (isInput) {
|
|||
|
Codeforces.showMessage("The example input has been copied into the clipboard");
|
|||
|
} else {
|
|||
|
Codeforces.showMessage("The example output has been copied into the clipboard");
|
|||
|
}
|
|||
|
e.clearSelection();
|
|||
|
});
|
|||
|
});
|
|||
|
|
|||
|
$(".test-form-item input").change(function () {
|
|||
|
addPendingSubmissionMessage($($(this).closest("form")), "You changed the answer, do not forget to submit it if you want to save the changes");
|
|||
|
const index = $(this).closest(".problemindexholder").attr("problemindex");
|
|||
|
let test = "";
|
|||
|
$(this).closest("form input").each(function () {
|
|||
|
const test_ = $(this).attr("name");
|
|||
|
if (test_ && test_.substring(0, 4) === "test") {
|
|||
|
test = test_;
|
|||
|
}
|
|||
|
});
|
|||
|
if (index.length > 0 && test.length > 0) {
|
|||
|
const indexTest = index + "::" + test;
|
|||
|
window.changedTests.add(indexTest);
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
$(window).on('beforeunload', function () {
|
|||
|
if (window.changedTests.size > 0) {
|
|||
|
return 'Dialog text here';
|
|||
|
}
|
|||
|
});
|
|||
|
|
|||
|
autosize($('.test-explanation textarea'));
|
|||
|
|
|||
|
$(".test-example-line").hover(function() {
|
|||
|
$(this).attr("class").split(" ").forEach((clazz) => {
|
|||
|
if (clazz.substr(0, "test-example-line-".length) === "test-example-line-") {
|
|||
|
let end = clazz.substr("test-example-line-".length);
|
|||
|
if (end !== "even" && end !== "odd" && end !== "0") {
|
|||
|
let top = 1E20;
|
|||
|
let left = 1E20;
|
|||
|
let problem = $(this).closest(".problemindexholder");
|
|||
|
$(this).closest(".input").find("." + clazz).css("background-color", "#FFFDE7").each(function() {
|
|||
|
top = Math.min(top, $(this).offset().top);
|
|||
|
left = Math.min(left, $(this).offset().left);
|
|||
|
});
|
|||
|
let testCaseMarker = problem.find(".testCaseMarker_" + end);
|
|||
|
if (testCaseMarker.length === 0) {
|
|||
|
const html = "<div class=\"testCaseMarker testCaseMarker_" + end + " notice\"></div>";
|
|||
|
problem.append($(html));
|
|||
|
testCaseMarker = problem.find(".testCaseMarker_" + end);
|
|||
|
}
|
|||
|
if (testCaseMarker) {
|
|||
|
testCaseMarker.show()
|
|||
|
.offset({top, left: left - 20})
|
|||
|
.text(end);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
}, function() {
|
|||
|
$(this).attr("class").split(" ").forEach((clazz) => {
|
|||
|
if (clazz.substr(0, "test-example-line-".length) === "test-example-line-") {
|
|||
|
let end = clazz.substr("test-example-line-".length);
|
|||
|
if (end !== "even" && end !== "odd" && end !== "0") {
|
|||
|
$("." + clazz).css("background-color", "");
|
|||
|
$(this).closest(".problemindexholder").find(".testCaseMarker_" + end).hide();
|
|||
|
}
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
|
|||
|
});
|
|||
|
</script>
|
|||
|
</div>
|
|||
|
<div
|
|||
|
style="margin-bottom: 2em;"
|
|||
|
>
|
|||
|
|
|||
|
|
|||
|
<div class="problemindexholder" problemindex="B" data-uuid="ps_2159cc0dc016808aaba0ac3796c2b58456970228">
|
|||
|
<div style="display: none; margin:1em 0;text-align: center; position: relative;" class="alert alert-info diff-notifier">
|
|||
|
<div>The problem statement has recently been changed. <a class="view-changes" href="#">View the changes.</a></div>
|
|||
|
<span class="diff-notifier-close" style="position: absolute; top: 0.2em; right: 0.3em; cursor: pointer; font-size: 1.4em;">×</span>
|
|||
|
</div>
|
|||
|
<div class="ttypography"><div class="problem-statement"><div class="header"><div class="title">B. Lucky String</div><div class="time-limit"><div class="property-title">time limit per test</div>2 seconds</div><div class="memory-limit"><div class="property-title">memory limit per test</div>256 megabytes</div><div class="input-file"><div class="property-title">input</div>standard input</div><div class="output-file"><div class="property-title">output</div>standard output</div></div><div><p><span class="tex-font-style-underline">Petya loves lucky numbers. We all know that lucky numbers are the positive integers whose decimal representations contain only the lucky digits <span class="tex-font-style-bf">4</span> and <span class="tex-font-style-bf">7</span>. For example, numbers <span class="tex-font-style-bf">47</span>, <span class="tex-font-style-bf">744</span>, <span class="tex-font-style-bf">4</span> are lucky and <span class="tex-font-style-bf">5</span>, <span class="tex-font-style-bf">17</span>, <span class="tex-font-style-bf">467</span> are not.</span></p><p>Petya recently learned to determine whether a string of lowercase Latin letters is lucky. For each individual letter all its positions in the string are written out in the increasing order. This results in <span class="tex-span">26</span> lists of numbers; some of them can be empty. A string is considered lucky if and only if in each list the absolute difference of any two <span class="tex-font-style-bf">adjacent</span> numbers is a lucky number. </p><p>For example, let's consider string "<span class="tex-font-style-tt">zbcdzefdzc</span>". The lists of positions of equal letters are:</p><ul><li> <span class="tex-font-style-tt">b</span>: <span class="tex-span">2</span></li><li> <span class="tex-font-style-tt">c</span>: <span class="tex-span">3, 10</span></li><li> <span class="tex-font-style-tt">d</span>: <span class="tex-span">4, 8</span></li><li> <span class="tex-font-style-tt">e</span>: <span class="tex-span">6</span></li><li> <span class="tex-font-style-tt">f</span>: <span class="tex-span">7</span></li><li> <span class="tex-font-style-tt">z</span>: <span class="tex-span">1, 5, 9</span></li><li> Lists of positions of letters <span class="tex-font-style-tt">a</span>, <span class="tex-font-style-tt">g</span>, <span class="tex-font-style-tt">h</span>, ..., <span class="tex-font-style-tt">y</span> are empty.</li></ul><p>This string is lucky as all differences are lucky numbers. For letters <span class="tex-font-style-tt">z</span>: <span class="tex-span">5 - 1 = 4</span>, <span class="tex-span">9 - 5 = 4</span>, for letters <span class="tex-font-style-tt">c</span>: <span class="tex-span">10 - 3 = 7</span>, for letters <span class="tex-font-style-tt">d</span>: <span class="tex-span">8 - 4 = 4</span>. </p><p>Note that if some letter occurs only once in a string, it doesn't influence the string's luckiness after building the lists of positions of equal letters. The string where all the letters are distinct is considered lucky.</p><p>Find the lexicographically minimal lucky string whose length equals <span class="tex-span"><i>n</i></span>.</p></div><div class="input-specification"><div class="section-title">Input</div><p>The single line contains a positive integer <span class="tex-span"><i>n</i></span> (<span class="tex-span">1 ≤ <i>n</i> ≤ 10<sup class="upper-index">5</sup></span>) — the length of the sought string.</p></div><div class="output-specification"><div class="section-title">Output</div><p>Print on the single line the lexicographically minimal lucky string whose length equals <span class="tex-span"><i>n</i></span>.</p></div><div class="sample-tests"><div class="section-title">Examples</div><div class="sample-test"><div class="input"><div class="title">Input</div><pre>5<br /></pre></div><div class="output"><div class="title">Output</div><pre>abcda<br /></pre></div><div class="input"><div class="title">Input</div><pre>3<br /></pre></div><div class="output"><div class="title">Output</div><pre>abc
|
|||
|
</div>
|
|||
|
|
|||
|
<script>
|
|||
|
$(function () {
|
|||
|
Codeforces.addMathJaxListener(function () {
|
|||
|
let $problem = $("div[problemindex=B]");
|
|||
|
let uuid = $problem.attr("data-uuid");
|
|||
|
let statementText = convertStatementToText($problem.find(".ttypography").get(0));
|
|||
|
|
|||
|
let previousStatementText = Codeforces.getFromStorage(uuid);
|
|||
|
if (previousStatementText) {
|
|||
|
if (previousStatementText !== statementText) {
|
|||
|
$problem.find(".diff-notifier").show();
|
|||
|
|
|||
|
$problem.find(".diff-notifier-close").click(function() {
|
|||
|
Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60);
|
|||
|
$problem.find(".diff-notifier").hide();
|
|||
|
});
|
|||
|
|
|||
|
$problem.find("a.view-changes").click(function() {
|
|||
|
$.post("/data/diff", {action: "getDiff", a: previousStatementText, b: statementText}, function (result) {
|
|||
|
if (result["success"] === "true") {
|
|||
|
Codeforces.facebox(".diff-popup", "//codeforces.org/s/14919");
|
|||
|
$("#facebox .diff-popup").html(result["diff"]);
|
|||
|
}
|
|||
|
}, "json");
|
|||
|
});
|
|||
|
}
|
|||
|
} else {
|
|||
|
Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60);
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
$(document).ready(function () {
|
|||
|
|
|||
|
function endsWith(string, suffix) {
|
|||
|
return string.indexOf(suffix, string.length - suffix.length) !== -1;
|
|||
|
}
|
|||
|
|
|||
|
const inputFileDiv = $("div.input-file");
|
|||
|
const inputFile = inputFileDiv.text();
|
|||
|
const outputFileDiv = $("div.output-file");
|
|||
|
const outputFile = outputFileDiv.text();
|
|||
|
|
|||
|
|
|||
|
if (!endsWith(inputFile, "standard input")
|
|||
|
&& !endsWith(inputFile, "standard input")) {
|
|||
|
inputFileDiv.attr("style", "font-weight: bold");
|
|||
|
}
|
|||
|
|
|||
|
if (!endsWith(outputFile, "standard output")
|
|||
|
&& !endsWith(outputFile, "standard output")) {
|
|||
|
outputFileDiv.attr("style", "font-weight: bold");
|
|||
|
}
|
|||
|
|
|||
|
const titleDiv = $("div.header div.title");
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
});
|
|||
|
</script>
|
|||
|
</div>
|
|||
|
<div
|
|||
|
style="margin-bottom: 2em;"
|
|||
|
>
|
|||
|
|
|||
|
|
|||
|
<div class="problemindexholder" problemindex="C" data-uuid="ps_1650fbf3662b9f806a5925ae375583362fa57e3e">
|
|||
|
<div style="display: none; margin:1em 0;text-align: center; position: relative;" class="alert alert-info diff-notifier">
|
|||
|
<div>The problem statement has recently been changed. <a class="view-changes" href="#">View the changes.</a></div>
|
|||
|
<span class="diff-notifier-close" style="position: absolute; top: 0.2em; right: 0.3em; cursor: pointer; font-size: 1.4em;">×</span>
|
|||
|
</div>
|
|||
|
<div class="ttypography"><div class="problem-statement"><div class="header"><div class="title">C. Lucky Sum of Digits</div><div class="time-limit"><div class="property-title">time limit per test</div>2 seconds</div><div class="memory-limit"><div class="property-title">memory limit per test</div>256 megabytes</div><div class="input-file"><div class="property-title">input</div>standard input</div><div class="output-file"><div class="property-title">output</div>standard output</div></div><div><p><span class="tex-font-style-underline">Petya loves lucky numbers. We all know that lucky numbers are the positive integers whose decimal representations contain only the lucky digits <span class="tex-font-style-bf">4</span> and <span class="tex-font-style-bf">7</span>. For example, numbers <span class="tex-font-style-bf">47</span>, <span class="tex-font-style-bf">744</span>, <span class="tex-font-style-bf">4</span> are lucky and <span class="tex-font-style-bf">5</span>, <span class="tex-font-style-bf">17</span>, <span class="tex-font-style-bf">467</span> are not.</span></p><p>Petya wonders eagerly what minimum lucky number has the sum of digits equal to <span class="tex-span"><i>n</i></span>. Help him cope with the task.</p></div><div class="input-specification"><div class="section-title">Input</div><p>The single line contains an integer <span class="tex-span"><i>n</i></span> (<span class="tex-span">1 ≤ <i>n</i> ≤ 10<sup class="upper-index">6</sup></span>) — the sum of digits of the required lucky number.</p></div><div class="output-specification"><div class="section-title">Output</div><p>Print on the single line the result — the minimum lucky number, whose sum of digits equals <span class="tex-span"><i>n</i></span>. If such number does not exist, print -1.</p></div><div class="sample-tests"><div class="section-title">Examples</div><div class="sample-test"><div class="input"><div class="title">Input</div><pre>11<br /></pre></div><div class="output"><div class="title">Output</div><pre>47<br /></pre></div><div class="input"><div class="title">Input</div><pre>10<br /></pre></div><div class="output"><div class="title">Output</div><pre>-1<br /></pre></div></div></div></div></div>
|
|||
|
</div>
|
|||
|
|
|||
|
<script>
|
|||
|
$(function () {
|
|||
|
Codeforces.addMathJaxListener(function () {
|
|||
|
let $problem = $("div[problemindex=C]");
|
|||
|
let uuid = $problem.attr("data-uuid");
|
|||
|
let statementText = convertStatementToText($problem.find(".ttypography").get(0));
|
|||
|
|
|||
|
let previousStatementText = Codeforces.getFromStorage(uuid);
|
|||
|
if (previousStatementText) {
|
|||
|
if (previousStatementText !== statementText) {
|
|||
|
$problem.find(".diff-notifier").show();
|
|||
|
|
|||
|
$problem.find(".diff-notifier-close").click(function() {
|
|||
|
Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60);
|
|||
|
$problem.find(".diff-notifier").hide();
|
|||
|
});
|
|||
|
|
|||
|
$problem.find("a.view-changes").click(function() {
|
|||
|
$.post("/data/diff", {action: "getDiff", a: previousStatementText, b: statementText}, function (result) {
|
|||
|
if (result["success"] === "true") {
|
|||
|
Codeforces.facebox(".diff-popup", "//codeforces.org/s/14919");
|
|||
|
$("#facebox .diff-popup").html(result["diff"]);
|
|||
|
}
|
|||
|
}, "json");
|
|||
|
});
|
|||
|
}
|
|||
|
} else {
|
|||
|
Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60);
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
$(document).ready(function () {
|
|||
|
|
|||
|
function endsWith(string, suffix) {
|
|||
|
return string.indexOf(suffix, string.length - suffix.length) !== -1;
|
|||
|
}
|
|||
|
|
|||
|
const inputFileDiv = $("div.input-file");
|
|||
|
const inputFile = inputFileDiv.text();
|
|||
|
const outputFileDiv = $("div.output-file");
|
|||
|
const outputFile = outputFileDiv.text();
|
|||
|
|
|||
|
|
|||
|
if (!endsWith(inputFile, "standard input")
|
|||
|
&& !endsWith(inputFile, "standard input")) {
|
|||
|
inputFileDiv.attr("style", "font-weight: bold");
|
|||
|
}
|
|||
|
|
|||
|
if (!endsWith(outputFile, "standard output")
|
|||
|
&& !endsWith(outputFile, "standard output")) {
|
|||
|
outputFileDiv.attr("style", "font-weight: bold");
|
|||
|
}
|
|||
|
|
|||
|
const titleDiv = $("div.header div.title");
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
});
|
|||
|
</script>
|
|||
|
</div>
|
|||
|
<div
|
|||
|
style="margin-bottom: 2em;"
|
|||
|
>
|
|||
|
|
|||
|
|
|||
|
<div class="problemindexholder" problemindex="D" data-uuid="ps_3897ab8e465d77e1e4c5d4cdb24ac359c5b482e8">
|
|||
|
<div style="display: none; margin:1em 0;text-align: center; position: relative;" class="alert alert-info diff-notifier">
|
|||
|
<div>The problem statement has recently been changed. <a class="view-changes" href="#">View the changes.</a></div>
|
|||
|
<span class="diff-notifier-close" style="position: absolute; top: 0.2em; right: 0.3em; cursor: pointer; font-size: 1.4em;">×</span>
|
|||
|
</div>
|
|||
|
<div class="ttypography"><div class="problem-statement"><div class="header"><div class="title">D. Lucky Probability</div><div class="time-limit"><div class="property-title">time limit per test</div>2 seconds</div><div class="memory-limit"><div class="property-title">memory limit per test</div>256 megabytes</div><div class="input-file"><div class="property-title">input</div>standard input</div><div class="output-file"><div class="property-title">output</div>standard output</div></div><div><p><span class="tex-font-style-underline">Petya loves lucky numbers. We all know that lucky numbers are the positive integers whose decimal representations contain only the lucky digits <span class="tex-font-style-bf">4</span> and <span class="tex-font-style-bf">7</span>. For example, numbers <span class="tex-font-style-bf">47</span>, <span class="tex-font-style-bf">744</span>, <span class="tex-font-style-bf">4</span> are lucky and <span class="tex-font-style-bf">5</span>, <span class="tex-font-style-bf">17</span>, <span class="tex-font-style-bf">467</span> are not.</span></p><p>Petya and his friend Vasya play an interesting game. Petya randomly chooses an integer <span class="tex-span"><i>p</i></span> from the interval <span class="tex-span">[<i>p</i><sub class="lower-index"><i>l</i></sub>, <i>p</i><sub class="lower-index"><i>r</i></sub>]</span> and Vasya chooses an integer <span class="tex-span"><i>v</i></span> from the interval <span class="tex-span">[<i>v</i><sub class="lower-index"><i>l</i></sub>, <i>v</i><sub class="lower-index"><i>r</i></sub>]</span> (also randomly). Both players choose their integers equiprobably. Find the probability that the interval <span class="tex-span">[<i>min</i>(<i>v</i>, <i>p</i>), <i>max</i>(<i>v</i>, <i>p</i>)]</span> contains exactly <span class="tex-span"><i>k</i></span> lucky numbers.</p></div><div class="input-specification"><div class="section-title">Input</div><p>The single line contains five integers <span class="tex-span"><i>p</i><sub class="lower-index"><i>l</i></sub></span>, <span class="tex-span"><i>p</i><sub class="lower-index"><i>r</i></sub></span>, <span class="tex-span"><i>v</i><sub class="lower-index"><i>l</i></sub></span>, <span class="tex-span"><i>v</i><sub class="lower-index"><i>r</i></sub></span> and <span class="tex-span"><i>k</i></span> (<span class="tex-span">1 ≤ <i>p</i><sub class="lower-index"><i>l</i></sub> ≤ <i>p</i><sub class="lower-index"><i>r</i></sub> ≤ 10<sup class="upper-index">9</sup>, 1 ≤ <i>v</i><sub class="lower-index"><i>l</i></sub> ≤ <i>v</i><sub class="lower-index"><i>r</i></sub> ≤ 10<sup class="upper-index">9</sup>, 1 ≤ <i>k</i> ≤ 1000</span>).</p></div><div class="output-specification"><div class="section-title">Output</div><p>On the single line print the result with an absolute error of no more than <span class="tex-span">10<sup class="upper-index"> - 9</sup></span>.</p></div><div class="sample-tests"><div class="section-title">Examples</div><div class="sample-test"><div class="input"><div class="title">Input</div><pre>1 10 1 10 2<br /></pre></div><div class="output"><div class="title">Output</div><pre>0.320000000000<br /></pre></div><div class="input"><div class="title">Input</div><pre>5 6 8 10 1<br /></pre></div><div class="output"><div class="title">Output</div><pre>1.000000000000<br /></pre></div></div></div><div class="note"><div class="section-title">Note</div><p>Consider that <span class="tex-span">[<i>a</i>, <i>b</i>]</span> denotes an interval of integers; this interval <span class="tex-font-style-bf">includes</span> the boundaries. That is, <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/18b4a6012d95ad18891561410f0314497a578d63.png" style="max-width: 100.0%;max-height: 100.0%;" /></p><p>In first case there are <span class="tex-span">32</span> suitable pairs: <span class="tex-span">(1, 7), (1, 8), (1, 9), (1, 10), (2, 7), (2, 8), (2, 9), (2, 10), (3, 7), (3, 8), (3, 9), (3, 10), (4, 7), (4, 8),
|
|||
|
</div>
|
|||
|
|
|||
|
<script>
|
|||
|
$(function () {
|
|||
|
Codeforces.addMathJaxListener(function () {
|
|||
|
let $problem = $("div[problemindex=D]");
|
|||
|
let uuid = $problem.attr("data-uuid");
|
|||
|
let statementText = convertStatementToText($problem.find(".ttypography").get(0));
|
|||
|
|
|||
|
let previousStatementText = Codeforces.getFromStorage(uuid);
|
|||
|
if (previousStatementText) {
|
|||
|
if (previousStatementText !== statementText) {
|
|||
|
$problem.find(".diff-notifier").show();
|
|||
|
|
|||
|
$problem.find(".diff-notifier-close").click(function() {
|
|||
|
Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60);
|
|||
|
$problem.find(".diff-notifier").hide();
|
|||
|
});
|
|||
|
|
|||
|
$problem.find("a.view-changes").click(function() {
|
|||
|
$.post("/data/diff", {action: "getDiff", a: previousStatementText, b: statementText}, function (result) {
|
|||
|
if (result["success"] === "true") {
|
|||
|
Codeforces.facebox(".diff-popup", "//codeforces.org/s/14919");
|
|||
|
$("#facebox .diff-popup").html(result["diff"]);
|
|||
|
}
|
|||
|
}, "json");
|
|||
|
});
|
|||
|
}
|
|||
|
} else {
|
|||
|
Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60);
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
$(document).ready(function () {
|
|||
|
|
|||
|
function endsWith(string, suffix) {
|
|||
|
return string.indexOf(suffix, string.length - suffix.length) !== -1;
|
|||
|
}
|
|||
|
|
|||
|
const inputFileDiv = $("div.input-file");
|
|||
|
const inputFile = inputFileDiv.text();
|
|||
|
const outputFileDiv = $("div.output-file");
|
|||
|
const outputFile = outputFileDiv.text();
|
|||
|
|
|||
|
|
|||
|
if (!endsWith(inputFile, "standard input")
|
|||
|
&& !endsWith(inputFile, "standard input")) {
|
|||
|
inputFileDiv.attr("style", "font-weight: bold");
|
|||
|
}
|
|||
|
|
|||
|
if (!endsWith(outputFile, "standard output")
|
|||
|
&& !endsWith(outputFile, "standard output")) {
|
|||
|
outputFileDiv.attr("style", "font-weight: bold");
|
|||
|
}
|
|||
|
|
|||
|
const titleDiv = $("div.header div.title");
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
});
|
|||
|
</script>
|
|||
|
</div>
|
|||
|
<div
|
|||
|
style="margin-bottom: 1em;"
|
|||
|
>
|
|||
|
|
|||
|
|
|||
|
<div class="problemindexholder" problemindex="E" data-uuid="ps_6996c5c7c8089518922bccca47c0ba312bf4e330">
|
|||
|
<div style="display: none; margin:1em 0;text-align: center; position: relative;" class="alert alert-info diff-notifier">
|
|||
|
<div>The problem statement has recently been changed. <a class="view-changes" href="#">View the changes.</a></div>
|
|||
|
<span class="diff-notifier-close" style="position: absolute; top: 0.2em; right: 0.3em; cursor: pointer; font-size: 1.4em;">×</span>
|
|||
|
</div>
|
|||
|
<div class="ttypography"><div class="problem-statement"><div class="header"><div class="title">E. Lucky Tree</div><div class="time-limit"><div class="property-title">time limit per test</div>2 seconds</div><div class="memory-limit"><div class="property-title">memory limit per test</div>256 megabytes</div><div class="input-file"><div class="property-title">input</div>standard input</div><div class="output-file"><div class="property-title">output</div>standard output</div></div><div><p><span class="tex-font-style-underline">Petya loves lucky numbers. We all know that lucky numbers are the positive integers whose decimal representations contain only the lucky digits <span class="tex-font-style-bf">4</span> and <span class="tex-font-style-bf">7</span>. For example, numbers <span class="tex-font-style-bf">47</span>, <span class="tex-font-style-bf">744</span>, <span class="tex-font-style-bf">4</span> are lucky and <span class="tex-font-style-bf">5</span>, <span class="tex-font-style-bf">17</span>, <span class="tex-font-style-bf">467</span> are not.</span></p><p>One day Petya encountered a tree with <span class="tex-span"><i>n</i></span> vertexes. Besides, the tree was weighted, i. e. each edge of the tree has weight (a positive integer). An edge is lucky if its weight is a lucky number. Note that a <span class="tex-font-style-underline">tree with <span class="tex-span"><i>n</i></span> vertexes</span> is an undirected connected graph that has exactly <span class="tex-span"><i>n</i> - 1</span> edges.</p><p>Petya wondered how many vertex triples <span class="tex-span">(<i>i</i>, <i>j</i>, <i>k</i>)</span> exists that on the way from <span class="tex-span"><i>i</i></span> to <span class="tex-span"><i>j</i></span>, as well as on the way from <span class="tex-span"><i>i</i></span> to <span class="tex-span"><i>k</i></span> there must be at least one lucky edge (all three vertexes are pairwise distinct). The order of numbers in the triple matters, that is, the triple <span class="tex-span">(1, 2, 3)</span> is not equal to the triple <span class="tex-span">(2, 1, 3)</span> and is not equal to the triple <span class="tex-span">(1, 3, 2)</span>. </p><p>Find how many such triples of vertexes exist.</p></div><div class="input-specification"><div class="section-title">Input</div><p>The first line contains the single integer <span class="tex-span"><i>n</i></span> (<span class="tex-span">1 ≤ <i>n</i> ≤ 10<sup class="upper-index">5</sup></span>) — the number of tree vertexes. Next <span class="tex-span"><i>n</i> - 1</span> lines contain three integers each: <span class="tex-span"><i>u</i><sub class="lower-index"><i>i</i></sub></span> <span class="tex-span"><i>v</i><sub class="lower-index"><i>i</i></sub></span> <span class="tex-span"><i>w</i><sub class="lower-index"><i>i</i></sub></span> (<span class="tex-span">1 ≤ <i>u</i><sub class="lower-index"><i>i</i></sub>, <i>v</i><sub class="lower-index"><i>i</i></sub> ≤ <i>n</i>, 1 ≤ <i>w</i><sub class="lower-index"><i>i</i></sub> ≤ 10<sup class="upper-index">9</sup></span>) — the pair of vertexes connected by the edge and the edge's weight.</p></div><div class="output-specification"><div class="section-title">Output</div><p>On the single line print the single number — the answer.</p><p>Please do not use the %lld specificator to read or write 64-bit numbers in С++. It is recommended to use the cin, cout streams or the %I64d specificator.</p></div><div class="sample-tests"><div class="section-title">Examples</div><div class="sample-test"><div class="input"><div class="title">Input</div><pre>4<br />1 2 4<br />3 1 2<br />1 4 7<br /></pre></div><div class="output"><div class="title">Output</div><pre>16<br /></pre></div><div class="input"><div class="title">Input</div><pre>4<br />1 2 4<br />1 3 47<br />1 4 7447<br /></pre></div><div class="output"><div class="title">Output</div><pre>24<br /></pre></div></div></div><div class="note"><div class="section-title">Note</div><p>The <span class="tex-span">16</span> triples of vertexes f
|
|||
|
</div>
|
|||
|
|
|||
|
<script>
|
|||
|
$(function () {
|
|||
|
Codeforces.addMathJaxListener(function () {
|
|||
|
let $problem = $("div[problemindex=E]");
|
|||
|
let uuid = $problem.attr("data-uuid");
|
|||
|
let statementText = convertStatementToText($problem.find(".ttypography").get(0));
|
|||
|
|
|||
|
let previousStatementText = Codeforces.getFromStorage(uuid);
|
|||
|
if (previousStatementText) {
|
|||
|
if (previousStatementText !== statementText) {
|
|||
|
$problem.find(".diff-notifier").show();
|
|||
|
|
|||
|
$problem.find(".diff-notifier-close").click(function() {
|
|||
|
Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60);
|
|||
|
$problem.find(".diff-notifier").hide();
|
|||
|
});
|
|||
|
|
|||
|
$problem.find("a.view-changes").click(function() {
|
|||
|
$.post("/data/diff", {action: "getDiff", a: previousStatementText, b: statementText}, function (result) {
|
|||
|
if (result["success"] === "true") {
|
|||
|
Codeforces.facebox(".diff-popup", "//codeforces.org/s/14919");
|
|||
|
$("#facebox .diff-popup").html(result["diff"]);
|
|||
|
}
|
|||
|
}, "json");
|
|||
|
});
|
|||
|
}
|
|||
|
} else {
|
|||
|
Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60);
|
|||
|
}
|
|||
|
});
|
|||
|
});
|
|||
|
</script>
|
|||
|
|
|||
|
|
|||
|
<script type="text/javascript">
|
|||
|
$(document).ready(function () {
|
|||
|
|
|||
|
function endsWith(string, suffix) {
|
|||
|
return string.indexOf(suffix, string.length - suffix.length) !== -1;
|
|||
|
}
|
|||
|
|
|||
|
const inputFileDiv = $("div.input-file");
|
|||
|
const inputFile = inputFileDiv.text();
|
|||
|
const outputFileDiv = $("div.output-file");
|
|||
|
const outputFile = outputFileDiv.text();
|
|||
|
|
|||
|
|
|||
|
if (!endsWith(inputFile, "standard input")
|
|||
|
&& !endsWith(inputFile, "standard input")) {
|
|||
|
inputFileDiv.attr("style", "font-weight: bold");
|
|||
|
}
|
|||
|
|
|||
|
if (!endsWith(outputFile, "standard output")
|
|||
|
&& !endsWith(outputFile, "standard output")) {
|
|||
|
outputFileDiv.attr("style", "font-weight: bold");
|
|||
|
}
|
|||
|
|
|||
|
const titleDiv = $("div.header div.title");
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
});
|
|||
|
</script>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
<div id="footer">
|
|||
|
<div><a href="https://codeforces.com/">Codeforces</a> (c) Copyright 2010-2023 Mike Mirzayanov</div>
|
|||
|
<div>The only programming contests Web 2.0 platform</div>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
<script type="application/javascript">
|
|||
|
if ('serviceWorker' in navigator && 'fetch' in window && 'caches' in window) {
|
|||
|
navigator.serviceWorker.register('/service-worker-14919.js')
|
|||
|
.then(function (registration) {
|
|||
|
console.log('Service worker registered: ', registration);
|
|||
|
})
|
|||
|
.catch(function (error) {
|
|||
|
console.log('Registration failed: ', error);
|
|||
|
});
|
|||
|
}
|
|||
|
</script>
|
|||
|
<script>(function(){var js = "window['__CF$cv$params']={r:'7e4a78e7e9d44113',m:'lrUg5xjGj8s4ojmkvm1U9idcNwlYuyVcKbwkrD3KVQQ-1689009573-0-AVndcTsVYDcDuwRN63s/C4J1iwVA5kkNF8xumWXW/Lrs'};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/invisible.js',document.getElementsByTagName('head')[0].appendChild(_cpo);";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.nonce = '';_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script></body>
|
|||
|
</html>
|