Codeforces ラウンド #274 (ディビジョン 2) B Towers_html/css_WEB-ITnose
题目链接:Towers
Towers
テストごとの時間制限
1 秒
テストごとのメモリ制限
256 メガバイト
入力
標準入力
出力
標準出力
ご存知のとおり、バーランドの子供たちはみんなキューブで遊ぶのが大好きです。 Little Petya には、同じサイズの立方体で構成される n 個の塔があります。番号 i のタワーは、積み重ねられた AI キューブで構成されています。 Petya は、一連の塔の不安定性を、塔の最高の高さと最低の高さの差に等しい値として定義しています。たとえば、Petya が高さ (8、3、2、6、3) の 5 つの立方体タワーを構築した場合、このセットの不安定性は 6 に等しくなります (最も高いタワーの高さは 8、最も低いタワーの高さは 2)。少年は、一連の塔の不安定性をできるだけ低くしたいと考えています。彼にできることは、次の操作を数回実行することだけです。あるタワーから一番上のキューブを取り出し、それをセットの他のタワーの上に置きます。 Petya は時間の無駄だと考えているため、キューブを取り外されたのと同じタワーには決して置かないことに注意してください。
学校に行く前に、少年はそのような操作を k 回しか実行する時間がありません。 Petya は授業に遅刻したくないので、あなたは彼がこのタスクを達成できるように手伝ってあげる必要があります。
入力
最初の行には、スペースで区切られた 2 つの正の整数 n と k (1?≤?n?≤?100) が含まれています。 , 1?≤?k?≤?1000)?指定されたセット内のタワーの数と、Petya が実行できる操作の最大数。 2 行目には、n 個のスペースで区切られた正の整数、ai (1?≤?ai?≤?104) が含まれています。塔の初期の高さ。
出力
最初の行には、スペースで区切られた 2 つの非負の整数 s と m (m?≤?k) を出力します。最初の数値は、最大 k 個の操作を実行した後に取得できる最小の不安定性の値であり、2 番目の数値は、そのために必要な操作の数です。
次の m 行では、各操作の説明を 2 つの正の値として出力します。整数 i と j、それぞれは 1 から n までの制限内にあります。これらは、Petya が i 番目のタワーから一番上のキューブを取り出し、j 番目のタワーに置いたことを表します (i?≠?j)。操作を実行する過程で、一部のタワーの高さがゼロになる可能性があることに注意してください。
可能な限り最小限の不安定性が達成される正しいシーケンスが複数ある場合は、それらのいずれかを印刷することができます。
サンプルテスト
入力
3 25 8 5
出力
0 22 12 3
入力
3 42 2 4
出力
1 13 2
入力
5 38 3 2 6 3
出力
3 31 31 21 3
Note
In最初のサンプルでは、2 番目のタワーから 3 番目のタワーへ、そして 2 番目のタワーから最初のタワーへと、キューブを 2 回移動する必要があります。すると、塔の高さはすべて同じで 6 に等しくなります。層は、操作が実行する最大数kを求め、操作を経た後、最高の塔と最低の塔の間の高さの差が最小となり、方法を移して印刷される。 .塔の高さの差が 2 より小さい場合、終了します (最適な解決策が得られたため、2 より小さい場合、再移動すると繰り返され、現在の状態よりも低くなります)。 1、最小タムの高さが追加され、最大タムと最小タムの番号がそれぞれ記録され、同時に操作回数t>=kのとき、主な時間は終了する。 、ただ要遍历一遍数組、即可。
#include <stdio.h>#include <string.h>#include <iostream>#include <algorithm>#include <vector>#include <queue>#include <set>#include <map>#include <string>#include <math.h>#include <stdlib.h>#include <time.h>using namespace std;#define INF 0x7fffffffconst int maxn = 1005;typedef struct{ int x,y;}T;T t[maxn], tt[maxn];int main(){ #ifdef sxk freopen("in.txt","r",stdin); #endif int n,k,ch; while(scanf("%d%d",&n,&k)!=EOF) { for(int i=1; i<=n; i++){ scanf("%d", &ch); t[i].x = i; t[i].y = ch; } memset(tt,0,sizeof(tt)); int my, mx, mmy, mmx; int cnt = 0; while(1){ my = 1234567; mx = 0; mmy = -1234567; mmx = 0; for(int i=1; i<=n; i++){ if(t[i].y < my){ my = t[i].y; mx = t[i].x; } if(t[i].y > mmy){ mmy = t[i].y; mmx = t[i].x; } } if(mmy - my < 2 || k<1) break; else{ tt[cnt].x = mmx; tt[cnt++].y = mx; t[mmx].y --; t[mx].y ++; k --; } } printf("%d %d\n", mmy - my, cnt); if(cnt){ for(int i=0; i<cnt; i++) printf("%d %d\n", tt[i].x, tt[i].y); printf("\n"); } } return 0;}

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











公式アカウントのWebページはキャッシュを更新します。これはシンプルでシンプルで、ポットを飲むのに十分な複雑です。あなたは公式のアカウントの記事を更新するために一生懸命働きましたが、ユーザーはまだ古いバージョンを開くことができますか?この記事では、この背後にあるtwist余曲折と、この問題を優雅に解決する方法を見てみましょう。それを読んだ後、さまざまなキャッシュの問題に簡単に対処でき、ユーザーが常に新鮮なコンテンツを体験できるようになります。最初に基本について話しましょう。それを率直に言うと、アクセス速度を向上させるために、ブラウザまたはサーバーはいくつかの静的リソース(写真、CSS、JSなど)やページコンテンツを保存します。次回アクセスするときは、もう一度ダウンロードすることなく、キャッシュから直接検索できます。自然に高速です。しかし、このことは両刃の剣でもあります。新しいバージョンはオンラインです、

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

この記事では、CSSを使用したWebページへの効率的なPNG境界追加を示しています。 CSSはJavaScriptやライブラリと比較して優れたパフォーマンスを提供し、微妙または顕著な効果のために境界幅、スタイル、色を調整する方法を詳述していると主張しています

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex
