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. IDEA右键新建时没有Java Class选项

    今天在IDEA中新建了一个maven工程,但是在我想要新建Class时发件右键菜单里竟然没有Java Class选项!如下图所示: 如上图红圈所示,我们可以根据对项目的任意目录进行这五种目录类型标注, ...

  2. pygame 使用

    模块概况 display image event key mouse font 类概况 Rect: 返回的矩阵区域(图片) Surface: 可以看做是一个贴图, 它就是来显示的 display(与显 ...

  3. 整理:sql server 中sql语句执行顺序

    SQL Server 查询处理中的各个阶段(SQL执行顺序) SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是 ...

  4. vscode 插件todo-highlight

    简介 Highlight TODO,FIXME or any annotations within your code. 资源 https://marketplace.visualstudio.com ...

  5. 北航oo作业第四单元小结

    1.总结本单元两次作业的架构设计 在我动手开始总结我的设计之前,我看了其他同学已经提交在班级群里的博客,不禁汗颜,我是真的偷懒.其他同学大多使用了新建一个类,用以储存每一个UMLelemet元素的具体 ...

  6. Mavlink协议理解

    来源:blog.csdn.net/super_mice/article/details/44836585 之前看了mavlink协议,网上关于mavlink的资料不多.本文大概总结了下对mavlink ...

  7. JS浏览器获取宽高

    screen.availHeight is the height the browser's window can have if it is maximized. (including all th ...

  8. arcgis api for js 地图查询

      arcgis api for js入门开发系列四地图查询(含源代码) 上一篇实现了demo的地图工具栏,本篇新增地图查询功能,包括属性查询和空间查询两大块,截图如下: 属性查询效果图: 空间查询效 ...

  9. 五、c++实现离散傅里叶变换

    C++离散傅里叶变换 一.序言: 该教程基于之前的图像处理类MYCV,是对其的补充. 二.设计目标 对图像进行简单的离散傅里叶变换,并输出生成的频谱图. 三.需要提前掌握的知识 二维傅里叶变换公式: ...

  10. 美国L-1A签证简介

    一. L-1A签证是美国非移民签证种类之一,主要发给外国跨国公司在美所设公司的高层管理人员.申请程序是先经美国移民局批准,美驻外使领馆凭移民局的批准函(I-797表)核发签证.移民局的批准函并不意味着 ...