5812. 【NOIP提高A组模拟2018.8.14】 区间 
(File IO): input:range.in output:range.out

Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits    Special Judge    Downloads

Goto ProblemSet

Description

每一个机房中总有一个红太阳。有一天,AmberFrame 来到机房,发现桌上有不知道哪个蒟蒻放上的问 题: 有一个 n 个数的序列,一开始所有的数都是 0,每次可以将一个区间 [l, r](l ≤ r) 内的数 +1,求到达最 终状态的最少操作次数。 AmberFrame 非常强,自然不会把时间花在这种水题上。因此他就把任务交给了你,如果不会做的话,他 可能就会觉得你就是那个放问题的蒟蒻了而把你批判一番了。 
 

Input

第一行包含一个正整数 n,表示序列的长度。
第二行包含 n 个非负整数 a1, a2, ..., an,表示最终的状态。

Output

输出的第一行是一个正整数 m,表示最少的操作次数。 接下来 m 行每行两个正整数 li , ri,表示一次操作。你需要保证 1 ≤ li ≤ ri ≤ n。 保证最少次数 m ≤ 10^5,输出可以以任意顺序输出。 
 

Sample Input

6
2 3 3 3 3 3

Sample Output

3
1 6
1 6
2 6
 

Data Constraint

aaarticlea/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wgARCACHAUgDASIAAhEBAxEB/8QAGgABAQEBAQEBAAAAAAAAAAAAAAUEAwIBBv/EABYBAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAAB/fgI/Upo/QqJvMrJvMrJ2csp+MuJvEsJfopJPQpJXUoJPYoIewoJ4oJ4oJ+Qtp4oJ4oJ4oJ/MqAAn7Me8k/d/wAMOasidM/R8a45bHlNGGhPXZMrcDF5oeCb33fCc295fz97Nr1nJ057JeWnl1AGDfgN0qrwPmnl1AE+hPKAAIup5PSgJ6gJ6gJ6gJ+G9PDzjjc2dLJ6gWeoCeoCDudzg64jQ3/Sfiu4Dz93zj03QSg51En8a09aAAJ+ibqKCeKCeKCeKCeKE9hK3zgKCeKCeKCeKCeGyLuO/vKN/wBn8Stg+Yi5m4fTbw4jV2nihPcSsACfy69I0+/n2wFAAT6E88TrKO/QsBQAJ/fhsOHDT9JOzTpGDfgN06jmO/539DkOVTj2RPoT1oAAi6maNLb7snqBZ6gJ6gJ+G9PDjhio2dLJ6gWeoCeoCDudzg65z2l+UrYuVNfP3fOPTb+dKqX9Snx6/VoAAn9p+o3/AGeKCeKCeKCeKE9hKvnkKCeKCeKCeKCeGyLuO/nkOvrhxNvH5iLmbh9NmT4OzL9N+NxKwAJ+bTqOv359AAAE+hPM+e1zjt0LAUACf34bDhw0/STs06Rg34DdOo5jRBu8DBR9dkT6E9aAAMPkAAAAHkPQAAAAPPoAAHkPQAAHYNQP/8QAKhAAAgICAQQBBAICAwAAAAAAAgMAFAEEEhAREzQwICIxRQUhFSMzQVD/2gAIAQEAAQUC/wDLWrDzzrJGeLW5Z104OsnkSdcTxqqLHhRwqqxjx6/amuK1xJ2dZIzx62MlrpHNZPIkoAh1kljKEYzTXMJQWKi4GuOdqmuU1ymuU1ymuU1za1xXqVFymuU1ymuU1ymuU1xQ+Lc66szz76/lIfuzvamOwvyXkFmS1Mswp+t9+rjvXHvxR7GecT5SjOWd7Wx2ZslnB6p54/cBd9j/AB5D/af6Qv3mtJbEM8q/o3fQ/wCsbTMxLPLj6P2HXVmcd8JV4V5V3aCfHMq75FAiimrulWEixPkOI9jP94SrwgSuTBTwzlfIlK8QHr4JZBglVBiw8YL97IDk1rBQ/Ru+hj8YQsYCwVj6P2HVSBadNcprlNcprlNcprlNcprlNcpridUMvprlNcprlNcprlNcprlNcprlNcDVC5TXKa5TXKa5TXKa5uaoDpU19qa5TXKa5TXKa5TXFLwre66s2v8Ak+FHsbccWc5DPJf1r95xmGE8Sn8g3GNbGe+Om76GPxlhZPGOOCMlID7N7p+w66sYkG5+FHsMSDoSFn8K/eLnBAubVA5eMdsdN30MfjIuzAHiA66hgKEM9P2HVSBadNcprlNcprlNcprlNcprlNcpridUMvprlNcprlNcprlNcprlNcprlNcDVC5TXKa5TXKa5hKctprm5qgOlTX2prlNcprlNcprlNcUvCt7rqzbXnIh34fAj2NoO+M5Pxhnkv61+84zDCeJTbjiznIAwjm76GPxlhZPj9j+aRD7N7p+w66sbqqceMdsfAj2G6y3FnWVnHwL94ucEC5sSDoSFn13fQx+Mi7MEeyw00LgKEM9P2HVSBadNcprlNcprlNcprlNcprlNcpridUMvprlNcprlNcprlNcprlNcprlNcDVC5TXKa5TXKa5TXKa5uaoDpUw7U1ymuU1ymuU1ymuKXhW911ZvY/1hnBB8CPY3B7r8nkUGeS/rX7zjMMJ4lNoO+M5Px5aRa/MvFu+hj8ZYWT4/Y/mkdkspYwsjv6uc8v2HXVjNdbJjHbHwI9g0AzOdZWfhX7xc4IFzbrLcWdZWcZQsi8C+W76GPxkXZgj2WGmhcrr7V1wAFeP2HVSBadMJTCUwlMJTCUwlMJTCUwlMInVDL6YSmEphKYSmEphKYSmEphKYQNULlMJTCUwlMJhKctphNzVAdKmHamEphKYQ9ZSwHWWY0wil4VvddWb7cYT+cfAj2P5BuMazT5wM8l/Wv3nGYYTxKbccWc5AGEc3fQx+MsLJ4xxwRkpGcZxtJAgCfsOurGqBwfjHwI9hqgcstdZfCv3i5wQLmxIOhIWfXd9DH4yLswB4gOuoYChDPT9h1LUXk6YSmEphKYSmEphKYSmEphKYTGkrGaYSmEphKYSmEphKYSmEphKYSkrvTCUwlMJTCUwlMJnSUQ0wlMJTCUwlMJTCUwi9cFFP//EABcRAAMBAAAAAAAAAAAAAAAAAAFAUEH/2gAIAQMBAT8Bf26L4hf/xAAYEQACAwAAAAAAAAAAAAAAAAABEEBBcP/aAAgBAgEBPwGaFWPf/8QAPxAAAAQEAgQMBAUDBQEAAAAAAAECAxEyk9ESIQQxQWEQEyAiIzBRcnOBscEzQ3GyQlJjkeEUgqEkUGKD8JL/2gAIAQEABj8C/wBreUtbuThlk4ZDnOvF9X1XCU8e5FWov6hVwlBuP4laumXcYeNexdnHquCQp54lGUfjquIpceMtz6rgl8a9hPbxy7iPGPQ8ZVwR8a/A/wBVYnfrKuH0m4/BKiIumV+Ut45zrxf96rgi/qHIqOBf6hVwkjcfio4F0y7jDxr0T2ceq4SlTzxGrV0yriKXXjLc+q4MjdeiWzjlXE79ZVwgyde58vTLz/yJ36yrh1HGP4UkmHTK37xO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVw8tLj5KSgzLpldn1E79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVwpslLNPFx5yzVt38h/wAUxkReZg3IINeIyxGeyIViTiLBknzBwaIueqJ+Y5mNK1nDHDYFpS0psklAsPO/baOfnzC15Qz1ZkFJRAiie/WE8Ya0pIyyNB9uQ50I7hpXfL7SHNIvMwtcEGvGZEaj1FEIiUU4FQT+wdgyRdJr7MhFGMlmZJJeHUDbJkywfijkZ+odQpCVGaca1Ygo1KTiNGSi+gVBPw0lhgnd9Aj6B/uo9w2lKY4zgMW8y5OkeEr04C5hZucXr1hX/FRp+vJPwvfkP+KYhGAJETPeY4zEZHCGQycVCJnDIGrEePUR9g4o+cW2O0Rh/wC/8QMiMzziEma1YSzw7D4NK75faXBhxGrOMTCV4jIyIyyBmTi8zxHqGIzOJS7hDEajM4mZhScaixTKLWYNvURlAKiozxZaisCTiNUO0P8AdR7hKzLNOoYUFAuTpHhK9OBMEymZkOYUOSfhe/IfUanC6Q5XDL0E79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVxpJY3sll81X5S3id+sq4nfrKuJ36yrid+sq4nfrKuJ36yrid+sq4nfrKuJ36yrid+sq4eLG9klPzVb94nfrKuJ36yrid+sq4nfrKuJ36yrid+sq4fPG9k2rW6rs+onfrKuJ36yrid+sq4nfrKuJ36yrid+sq4nfrKuFERqPoymUatu/kP+KY0c4n8SGvcfVaV3y+0gycT+KnaNNM/loLBuyiEmesy6h/uo9wWBMe0+zyGPjDWfp5BxOPCeGOsRLh0jwlenBhcPiU7N/mIENPNJnFKss9XNIcWmU2o/54T8L35D/imEmuPNOJQUZdVpXfL7SBY45HEoKMgcS1lA89fUv91HuOYpJfUojEs0GcNiIH6g0LKKT3wEOHSPCV6cB89uG9H8gk5eRQC8j580VGcREtcIRPhPwvfkPqNThdIcrhl6Cd+sq4nfrKuJ36yrid+sq4nfrKuJ36yrid+sq4nfrKuJ36yrid+sq40ksb2Sy+ar8pbxO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcPFjeySn5qt+8Tv1lXE79ZVxO/WVcTv1lXBt49JxF+ouH7id+sq4fPG9k2rW6rs+onfrKuJ36yrid+sq4nfrKuJ36yrid+sq4nfrKuFERqPoymUatu/kP+KYXA4rUnC2nsPtCYnE4a+p0rvl9pBRzGacKEb+0aVjVFbTRQVvhrCTPWZdQ/3Ue4LAmPafZ5DHxhrP08gycT+KnaNNM/loLBuyiEOZF+I4bctXBpHhK9ODC4fEp2b/MYSOGWsOLaVkhoyUr8yhxaZTaj/nhPwvfkP+KYxLxxhDJwy9BAup0rvl9pAlLxxLLmrMvQQhlDCeesupf7qPccxSS+pRGJZoM4bEQP1BY45HEoKMgcS1lA89fDpHhK9OA+e3Dej+Rhy/tyBwJRxKHOWZ+oiWuEInwn4XvyH1GpwukOVwy9BO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcaSWN7JZfNV+Ut4nfrKuJ36yrid+sq4nfrKuJ36yrid+sq4nfrKuJ36yrid+sq4nfrKuHixvZJT81W8Tv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcPnjeybVrdV2fUTv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXCiI1H0ZTKM9u/kP+KYdUSucSO2TeEmRxIy19TpXfL7SDhkcVEiWOreNJXjNWBojQryjEJM9Zl1D/dR7gsCY9p9nkMfGGs/TyCjmM04UI39o0rGqK2migrfDWNIeP4iFlh3ahxv4/6jD5YoDSPCV6cGFw+JTs3+YwkcMtYcW0rJDRkpX5lDA3klSEx/+oAmC+GpSYl5KsNIR+FDkC/Ygfhe/If8UweIpigqG0hAtXU6V3y+0gZmWZlhOG0hDDAoYTItpdS/3Ue45ikl9SiMSzQZw2IgfqCUvHEsuasy9BCGUMJ56yBmZa8zLtGKG3FDeNI8JXpwHz24b0fyMOX9uQOBKOJQ5yzP1BxKMShmYPLMzjHaIJ2nEwfhe/IfUanC6Q5XDITv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXGkljeyWXzVflITv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXDxY3skp+areJ36yrid+sq4nfrKuJ36yrg28ek4i/UXD9xO/WVcPnjeybVrdV2Cd+sq4nfrKuJ36yrid+sq4NSnH4F+qsYiXpHm6shO/WVcKIjUfRlMoz27+Q/4phScZJhCOe/qtK75faQcTjwnhjrGmKj8NBYD7MohJnrMuof7qPcFgTHtPs8hj4w1n6eQZOJ/FTtGmmfy0Fg3ZRCHMi/EcNuWrg0jwlenBhcPiU7N/mIENPNJnFKss9XNIcUiGE2yUZH9QZKPaZlu4D8L35D/imMCyM0/WHVaV3y+0gaFlFJ74DMjzKB56+pf7qPccxSS+pRGJZoM4bEQP1BY45HEoKMgcS1lA89fDpHhK9OA+e3Dej+QScvIoBeR8+aKjOIiWuEInwn4XvyDVFxMczwuGQnfrKuJ36yrid+sq4nfrKuJ36yrid+sq4nfrKuJ36yrid+sq4nfrKuDMlPZ6+lVcTv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXBnieie3jVXE79ZVxO/WVcTv1lXE79ZVxO/WVcTv1lXBpUp4yPWRvKuJ36yrid+sq4nfrKuJ36yrid+sq4nfrKuJ36yrg1FiMzyipRn68H//xAApEAEAAQMCBQUBAQEBAQAAAAABEQAhMUFRIDBhcbEQgZGh8MHR8eFQ/9oACAEBAAE/If8A5coECHgBoMUaMhsaas6Lw0uoRDJGadIE5MUgaADhoVaMKSlurBATNFlQstbbqA55xr6FnVNGUk+y0bIHUaLvZBkaCjQHIxPhSQQYrlpPiSDfimigpTSFqhbsFg9BZ4M8kpNVldIQwzd9OMsWLFixZXwdhRUIjjsWLFixYtKHRG8SNXBl+OKYu52f5QlwTkoGQW6UiowS1YlL7x4qeHsLE51FmaJ3gsBt1ybU5GzCDDCD/BUBus1gUrBILlRmIvT1HAb0ja1NIyW6FWUlrRB6W2G7Ox/KNnBaMGBahEZYi7Mn7qXXoNhCFQSlhGDoGvX/AJWe0D1RrEr7UyIXIFsBjo/FKuEjIDd1oVgvIGuu+iQQLWxHpac3W2NF/lKyAiaYYUn64f3N1GPagFpo1NX2h+KdaGUMQ14T63lwZfjipuSWpkoBIqrnVZamQ8cW861aSZFWKsunWpFtEYfEopPrtSZX5oA9SxYun+KlKmSoYCiMSFybT62xISk6lBDUpRyqzpUShbZqm/atNBmp+KuvSWY6+9TMxCsr2qTbzBBt8UZrjbpaKnuYCXZilhVYMZj2PS2VBNLac18qJw/ubqwV3iRbLMv204ISzn9vwn1vLgeFRQXg0XLLFixYsWLFixZ4WAQXd1cssWLFixYsWLFn2Zub3cYsWLFixYbooujLShA47FixYsWLDXlr5lquDL8cUIEClQoTY5dsxADBZRnamYZYu9I9/FPgQXk2pV+7kd9TQkGLWYOjZ5oFgGsF2CiNBEsnr+5urBTdckQ/5nbNGM0G7NZi8VL3FbImTqQn79T63lwZfjihwbgAfZ5du1T3gPZpxNavrTR5VpQSOs/9FHxkT9xKkTZAKXxQEJg3Z9f3N1YKjVzoramxEjE9irJYxkWRq0nmWJEsGD1PreXA8KigvBouWWLFixYsWLFizwsAgu7q5ZYsWLFixYsWLPszc3u4RYsWLDDWP9SPQsN0UXRlpQgcdixYsWLFhry18y1XBl+OKREihZv2OmnxQBW5O55VuXVggX6Tp/5WhutpKw96fAgvJtSr93I76mhIMWswdGzzRiAGCyjO1Mwyxd6R7+KVV9lyFtnfx6fubqwU3XJEP+Z2zVk1gJSnzQicFLYLxuXv1rZEydSE/fqfW8uDL8cUCtGxfZFAYQBByrdvAQw/uKuBkQlYwO/KtKCR1n/oo+MifuJVap7wHs04mtX1po+v7m6sFRq50VtSGtQRZD22q2OVg8PRNJ5liRLBg9T63lwPDooLwaLllixYsWLFixYtjAAgu7q5ZYsWLFixYsWLOszc3unjLFixYsWG6KLoy0oQuOxYsWLFiw15a+5argy/HFCsG4ASNpmf8qEtCbuVbKYtwW7TM0wIDVn+yafAgvJtSr93I76mhIMWswdGzzUurBAv0nT/AMrQ3W0lYe9fyuEcfb81ez33we0V+5urBTdckQ/5nbNWTWAlKfNCJwUtgvG5e/WnrNoO2XwtW8WQxse8K6KB2JI+Vo+t5cGX44pFpqSOk0BAAsByrbYrkUdCgMgUIAwPKtKCR1n/AKKPjIn7iVW8BDD+4q4GRCVjA71nAiRZGFK8kluqK/c3VgqNXOitqQ1qCLIe21WxysHh6JqUVjNRYMFSXJIm5GL0oDUHK70fW8uB4dFBeDQeW2bNmzZs2bNm2MACC7t78ts2bNmzZs2bNnWZub3TwtmzZsMNY/1I9GwnRRdGWk0QuCzZs21Ikhn4GjkA7h8L6Nhry19y14GX44ogslwLZahAREcJyrYLANYLsFJlZRO5I9/FPgQXk2pV+7kd9TQkGLWYOjZ5oxADBZRnamYZYu9I9/FKq+y5C2zv49P3N1YKbrkiH/M7Zoxmg3ZrMXipe4qE+giU80okTJBoWx6H1vLgy/HFXUhMD8KCAJtuzyraJsgFL4qQkQX1po78q0oJHWf+ij4yJ+4lVqnvAezTia1fWmj6/ubqwVGrnRW1NiJGJ7FWSxjIsjVpPMsSJYMHqfW8uCTWcB89h5bJkyZMmTJkyZCpLlF9xyzJkyZMmTJkyZBFKIbt4zJkyZMmRoShCJyDJkyZMmTJsSpLY93p/9oADAMBAAIAAwAAABDzzzDzTzTjjzjzzzzTzzzzzjAaw/zyTS6TxTzxhTzzzxjzzzzzf/zzzzjTzjn3zzzTzzzzzzzzzyzxjzwxzzzytfzzzzf/AM884s88sB3888f388887/8APPPPf/OMffPPNPPPPPPPPPPLLOPPDPHPPKPPPPPH/wDzzzizzyyEfzzxzzzzzzzzzzzzzzzzzzzz/8QAJhEBAAECBQMEAwAAAAAAAAAAAREA8CAhMUFREECBYXHR4ZGhwf/aAAgBAwEBPxDt9m965oiIaJjP16OlOl8U3f4ocje33QQF8YdsWy4glC9YoZJwmdHUJihvxPaGWEYoIIwzmN7fFCCHDsnvTn1HSgvxgCaGScMShz9fNDJOEzrYeadYvVP50CpyXgn9Vz3w50IIcOye9OfU2qL8R3H/xAAoEQABAgUBCQADAAAAAAAAAAABABEgIUFR8DEQMEBhobHR4fFxkcH/2gAIAQIBAT8Q4cSIymwu6LPLl02DVSfo93QkMy6ImGV9BEzOXhGsVQInkTb15RDFtxyV8sqPmrcSQiXLwtIjK58RLl4ag2I7oSzNdtTl8+KmXgJZEMWheRNvfhEMWhMk0yLITD5oD/VyVcz6hNuZbqqA8BXfESRLl4ag2I7oSzNdtT+PCzrxH//EACkQAQEAAQMDBAMAAQUAAAAAAAERIQAxQVFhcSAwgZEQofBQscHR4fH/2gAIAQEAAT8Q/wAXjfYV0AcfWdEBVBqPzqgm0IqhUDtNFwCryAK6JTfrr/qw4sznfS8UFtCC3Ayn8a38PKPCajYjQxqDjZedtGOiuxhvoigmxYkGXWp9/gMZk6lRZ1ZGeujLEwTF6Z1OQJlvSDe41m/Kk2RjoT8aFQSsQG6GbrHytfBXOBKb9dZUwwSm5TUqmjuiE4KJqOjVBPRCBw8BdBqMPJrOPbnpzMmx9esMGDBgwa9c91QMYchvpzNE9aDBgwYMGt2qkswKJjp6P73TSIn90V8C/wBdbQBdAiBCQZ3y3Q2m4q1BeUMdDo0RSGggIkCuwagVuknBIMIdw2q6zfnLExRNEruW6Z2vR3AEASIYK76lgXUaMogGzJiaiOO0cZiOVWd5oETRmEewqn2/haZIfKqvgWic0mBBIEIdS7ukWpFWBVcbQHQes0a/SK3Awr47ui7HiBEw4N2k2EsAIsoQOCqijJXm5dNGfLkhlwkM8nduo2q4i6UuE5BMLGHBzOwgOXAH5TQweuDNSrAAy8H4YYBMHCzHwGXk1EWNsM10H1OyRArw66Eecr0LBmBU3tbaOGgc5iDjNPI+zv8A73TSBKEvO4axd8xcIwDKuxrCGFCwLgev61eCmYCqQu6cOlMeEAXewmYVas6acnMcRZIk3Sw09MS0xlJg2kA6GboAi9EEwAYDAAaLL9VGFShEGCDC38rdlQlInc0/yE8aSwG7waCY2BUauD0/euR8rCQI75A2mjHZkARJAiMMrd2BXWC4rhdVgA4IcGhQj4AIqiBswE4jnSKIqjY7Gm+2SiBCXDGngQ2I4GAx4v4YlwRs8BhtxrxldP7fV2/QNFY2ZN3YyvJ11cYSKcqrvxUzu+zv2z5x5wEveV9sECBAgQIECBAgYRwsi2RSzu1kNg9sECBAgQIECBAmcKQhq88jti7Zm/rBAgQIECA9FFyJlITskddoB60CBAgQIEzragGeEIdhno/vdNENIwFBmo7HHtrUFycAhzEMfk0E1eEV4k9XYaK6B3RSvssbVGQfAPpG65A9rG7CC8nc6YfwTwMi5Rs4JzoJLFFE7Po7foGqLxnybhrc6J0OsFmhVfKqvl1T23VkRS4q6cTnj2xHkirzDp69/wDe6aEYFFAEsCsXfroIT2luMwRQC0cVTvpmOBAKky5Mv2jh0AENvZYnkHKp4kv3pniZZC2Vg7aEdcnzoqGaY1BCi+Vy/Po7foGsg9T4sef1rAQ2kH5GHa63HbkFCohsBjg0J7BXmsjwV883179s+cecBL3lfbBAgQIECBAgQIGEcLItkUs7txDYPbBAgQIECBAgQJnCkIavPI7Yu2Zu+kECBAlXBF42B7mJi/gEB6KLkTKQnZI67QD1oECBAgQJnW1AM8IQ7DPR/e6aGoQJuDmxUvBy20WASPaWX539pbchIADqVVbV4KuuQW5sN6C8+YaK6B3RSvssbVGQfAPpG65A9rG7CC8nc6QXJwCHMQx+TQTV4RXiT1dhpJpKSLguxDbMMX89v0DVF4z5Nw1udE6HWdnxyZMNSr50qA9k3g8hE9UVjHE549sR5Iq8w6evf/e6aGBjCXlZCfrU5jB0Db2luRnUHprgT89DSJEGYW7nArvlqOHQAQ29lieQcqniS/emeJlkLZWDtrGYIoBaOKp30zHAgFSZcmX7Rw6ACG357foGsg9T4sef1omgKxS8BX7agOUC3gCLODQnsFeayPBXzzfXv2zzw5wEveV9sgQIECBAgQIEE4Y4SRbIpZ3biGwe2QIECBAgQIECDeNIQVeeV2xdszf1kCBAgQIAfii5EykJ2cOu1A9YIECBAgQZ1tQTPCEOwz0f3umnL3HgrjYc8lg40xFVuKUfnf2lqhRZNS7TDMIlkuthIdhnHooV7TjRXQO6KV9ljaoyD4B9I3XIHtY3YQXk7nVyEgAOpVVtXgq65Bbmw3oLz5hpLEEXIJHQWxzV1uFO/wA/2ptc75/Hb9A1ReM+TcNbnROh1nZ8cmTDUq+dKgPZN4PIRPVFYyfY+0ir7FMu7DprhP2WSMcCubOerpVjTwmaOxgcbenf/e6aU8joyWQ3Mv2mguqAQA2D2lp0tTXlbTMy986b5UkqojcK/Cm2NABDb2WJ5ByqeJL96Z4mWQtlYO2sjOoPTXAn56GkSIMwt3OBXfLUcOkCY6ZL4BSHmFsNcxvO7c6V/wB875/Hb9A1kHqfFjz+tE0BWKXgK/bUBygW8ARZwa3nvKEoNpFtM3NukCbGrs0cJ0MZerXMlGFXul3f/PTv2zzw5wIveV9tgwYMGDBgwYME4Y4SRbItZ3biGwe2wYMGDBgwYMGDeNIQVeeV2xdszf0sGDBgi4IvGwPcxMX8MAvxRMiZTE7OHXakegMGDAgErylMJXwGhtzofPAp8n4YM62oJnhFDsM9H97porgsLTAZslX4OXRxmqKJ1PaWsP4J4GRco2cE50IO5pVmXV5cwaK6B3RSvssbVGQfAPpG65A9rG7CC8nc6QXJwCHMQx+TQTV4RXiT1dhpJpKSLguxDbMMX89v0DVF4z5Nw1udE6HWCzQqvlVXy6p7bqyIpcVdb9Pgki42Ql5hbNJQFEo4i8gf8GD1b/73TRioBVSNKodwdGiQIUXyuX2lojrk+dFQzWHwYWyky3c75yjh0AENvZYnkHKp4kv3pniZZC2Vg7axmCKAWjiqd9MxwIBUmXJl+0cOgAht+e36BrIPU+LHn9awENpB+Rh2utx25BQqIbAY4NCewV5rI8FfPN9e8F0cFgFjKw49to0aNGjRo0aNBgcMkgCu5gHgPbaNGjRo0aNGjQe0BEBYLulZ5fW0aNGjRo8j7ARERyE40CQ9dGjRo0aNCPfA4KgKQqsPx//Z" alt=" " />
 

Hint

下发样例中第 i 个样例与第 i 组数据范围相符。
对于样例 1,第一个数被加了两次,其他每个数都被加了三次,显然满足条件。
 
做法:一开始还想用线段树来着,后来发现会超时,题解上说打差分从头到尾扫一遍就好啦
 
代码如下:

 #include <cstdio>
#include <cstring>
#include <iostream>
#define N 100007
using namespace std;
int n, a[N], list[N], tot, ans; int abs (int x) { return x > ? x : -x; } void Work(int step, int Times)
{
for (; Times--; list[++tot] = step);
} void Print(int step, int Times)
{
for(; Times--; printf("%d %d\n", list[tot--], step));
} int main()
{
freopen("range.in", "r", stdin);
freopen("range.out", "w", stdout);
scanf("%d", &n);
for (int i = ; i <= n; scanf("%d", &a[i++]));
for (int i = ; i <= n; i++)
if (a[i] > a[i - ]) ans += a[i] - a[i - ];
printf("%d\n", ans);
for (int i = ; i <= n + ; i++)
{
if (a[i] > a[i - ]) Work(i, abs(a[i] - a[i - ]));
if (a[i] < a[i - ]) Print(i - , abs(a[i] - a[i - ]));
}
}

JZOJ 5812. 【NOIP提高A组模拟2018.8.14】 区间的更多相关文章

  1. 【NOIP提高A组模拟2018.8.14】 区间

    区间加:差分数组修改 O(n)扫描,负数位置单调不减 #include<iostream> #include<cstring> #include<cstdio> # ...

  2. JZOJ 5818. 【NOIP提高A组模拟2018.8.15】 做运动

    5818. [NOIP提高A组模拟2018.8.15] 做运动 (File IO): input:running.in output:running.out Time Limits: 2000 ms  ...

  3. 5820. 【NOIP提高A组模拟2018.8.16】 非法输入(模拟,字符串)

    5820. [NOIP提高A组模拟2018.8.16] 非法输入 (File IO): input:aplusb.in output:aplusb.out Time Limits: 1000 ms   ...

  4. [jzoj 5782]【NOIP提高A组模拟2018.8.8】 城市猎人 (并查集按秩合并+复杂度分析)

    传送门 Description 有n个城市,标号为1到n,修建道路花费m天,第i天时,若gcd(a,b)=m-i+1,则标号为a的城市和标号为b的城市会建好一条直接相连的道路,有多次询问,每次询问某两 ...

  5. [jzoj 5781]【NOIP提高A组模拟2018.8.8】秘密通道 (最短路)

    传送门 Description 有一副nm的地图,有nm块地,每块是下列四种中的一种: 墙:用#表示,墙有4个面,分别是前面,后面,左面,右面. 起点:用C表示,为主角的起点,是一片空地. 终点:用F ...

  6. [jzoj 5778]【NOIP提高A组模拟2018.8.8】没有硝烟的战争 (博弈论+dp)

    传送门 Description 被污染的灰灰草原上有羊和狼.有N只动物围成一圈,每只动物是羊或狼. 该游戏从其中的一只动物开始,报出[1,K]区间的整数,若上一只动物报出的数是x,下一只动物可以报[x ...

  7. [JZOJ5817] 【NOIP提高A组模拟2018.8.15】 抄代码

    Description J 君是机房的红太阳,每次模拟她总是 AK 虐场.然而在 NOIP2117 中,居然出现了另一位 AK 的选手 C 君! 这引起了组委会的怀疑,组委会认为 C 君有抄袭 J 君 ...

  8. [JZOJ5818] 【NOIP提高A组模拟2018.8.15】 做运动

    Description 一天,Y 君在测量体重的时候惊讶的发现,由于常年坐在电脑前认真学习,她的体重有了突 飞猛进的增长. 幸好 Y 君现在退役了,她有大量的时间来做运动,她决定每天从教学楼跑到食堂来 ...

  9. [JZOJ5781]【NOIP提高A组模拟2018.8.8】秘密通道

    Description 有一副n*m的地图,有n*m块地,每块是下列四种中的一种:墙:用#表示,墙有4个面,分别是前面,后面,左面,右面.起点:用C表示,为主角的起点,是一片空地.终点:用F表示,为主 ...

随机推荐

  1. 性能测试学习第十一天_Analysis

    Analysis的功能:对测试运行结果进行查看,分析和比较 导入分析文件:loadrunner results文件和analysis session文件 Analysis窗口: 1.会话浏览器窗格 2 ...

  2. 检查python以及django是否安装配置成功

    首先说明下,我使用pycharm作为开发的IDE,在第一次创建django项目的时候,会自动安装django包的.(网上也有很多单独安装的方法),环境变量配置成功后,就是用下面的方法检测安装成功与否. ...

  3. 扒前端网页js代码

    红框是前端代码:输出script中 的内容 可以把红色区域的前端代码 转为java代码 来扒别的网站前端代码 转换成java代码之后,在控制台输入以下代码,点击回车则可以去打印出当前网页上的js fo ...

  4. Apache activiti5.13工作流框架的表结构详解

    1.结构设计 1.1.    逻辑结构设计 Activiti使用到的表都是ACT_开头的. ACT_RE_*: ’RE’表示repository(存储),RepositoryService接口所操作的 ...

  5. 学习笔记:Web Storage API

    Web Storage API 提供了存储机制,通过该机制,浏览器可以安全地存储键值对,比使用 cookie 更加直观. Web Storage 包含如下两种机制: sessionStorage 为每 ...

  6. oracle 查询之前的表数据

    SELECT * FROM Student  AS OF TIMESTAMP SYSDATE - 3/1440 对SQL的解释说明: SYSDATE :当前时间 1440 :24h*60m=1440m ...

  7. @Valid的坑

    @Valid 只能用来验证 @RequestBody 标注的参数,并且要写在 @RequestBody 之前

  8. python资料汇总

    http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html

  9. 使用HANA Web-based Development Workbench创建最简单的Server Side JavaScript

    服务器端的JavaScript, 看下wikipedia的介绍: https://en.wikipedia.org/wiki/JavaScript#Server-side_JavaScript Ser ...

  10. Java生成不重复的随机数

    public class test { public static int[] Randoms(int number) { Random rand = new Random(); //创建一个新随机数 ...