HDU 1800:Flying to the Mars
Flying to the Mars
Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 10817 Accepted Submission(s): 3469
Problem Description
In the year 8888, the Earth is ruled by the PPF Empire . As the pZ喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcHVsYXRpb24gZ3Jvd2luZyAsIFBQRiBuZWVkcyB0byBmaW5kIG1vcmUgbGFuZCBmb3IgdGhlIG5ld2Jvcm5zIC4gRmluYWxseSAsIFBQRiBkZWNpZGVzIHRvIGF0dGFjayBLc2Npbm93IHdobyBydWxpbmcgdGhlIE1hcnMgLiBIZXJlIHRoZSBwcm9ibGVtIGNvbWVzISBIb3cgY2FuIHRoZSBzb2xkaWVycyByZWFjaCB0aGUgTWFycyA/IFBQRgogY29udm9rZXMgaGlzIHNvbGRpZXJzIGFuZCBhc2tzIGZvciB0aGVpciBzdWdnZXN0aW9ucyAuIKGwUnVzaCChrSChsSBvbmUgc29sZGllciBhbnN3ZXJzLiChsFNodXQgdXAgISBEbyBJIGhhdmUgdG8gcmVtaW5kIHlvdSB0aGF0IHRoZXJlIGlzbqGvdCBhbnkgcm9hZCB0byB0aGUgTWFycyBmcm9tIGhlcmUhobEgUFBGIHJlcGxpZXMuIKGwRmx5ICGhsSBhbm90aGVyIGFuc3dlcnMuIFBQRiBzbWlsZXMgOqGwQ2xldmVyIGd1eSAhIEFsdGhvdWdoIHdlIGhhdmVuoa90IGdvdAogd2luZ3MgLCBJIGNhbiBidXkgc29tZSBtYWdpYyBicm9vbXN0aWNrcyBmcm9tIEhBUlJZIFBPVFRFUiB0byBoZWxwIHlvdSAuobEgTm93ICwgaXShr3MgdGltZSB0byBsZWFybiB0byBmbHkgb24gYSBicm9vbXN0aWNrICEgd2UgYXNzdW1lIHRoYXQgb25lIHNvbGRpZXIgaGFzIG9uZSBsZXZlbCBudW1iZXIgaW5kaWNhdGluZyBoaXMgZGVncmVlLiBUaGUgc29sZGllciB3aG8gaGFzIGEgaGlnaGVyIGxldmVsIGNvdWxkIHRlYWNoIHRoZSBsb3dlciAsIHRoYXQKIGlzIHRvIHNheSB0aGUgZm9ybWVyoa9zIGxldmVsID4gdGhlIGxhdHRlcqGvcyAuIEJ1dCB0aGUgbG93ZXIgY2Fuoa90IHRlYWNoIHRoZSBoaWdoZXIuIE9uZSBzb2xkaWVyIGNhbiBoYXZlIG9ubHkgb25lIHRlYWNoZXIgYXQgbW9zdCAsIGNlcnRhaW5seSAsIGhhdmluZyBubyB0ZWFjaGVyIGlzIGFsc28gbGVnYWwuIFNpbWlsYXJseSBvbmUgc29sZGllciBjYW4gaGF2ZSBvbmx5IG9uZSBzdHVkZW50IGF0IG1vc3Qgd2hpbGUgaGF2aW5nIG5vIHN0dWRlbnQKIGlzIGFsc28gcG9zc2libGUuIFRlYWNoZXIgY2FuIHRlYWNoIGhpcyBzdHVkZW50IG9uIHRoZSBzYW1lIGJyb29tc3RpY2sgLkNlcnRhaW5seSAsIGFsbCB0aGUgc29sZGllciBtdXN0IGhhdmUgcHJhY3RpY2VkIG9uIHRoZSBicm9vbXN0aWNrIGJlZm9yZSB0aGV5IGZseSB0byB0aGUgTWFycyEgTWFnaWMgYnJvb21zdGljayBpcyBleHBlbnNpdmUgIVNvICwgY2FuIHlvdSBoZWxwIFBQRiB0byBjYWxjdWxhdGUgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHRoZQogYnJvb21zdGljayBuZWVkZWQgLjxicj4KRm9yIGV4YW1wbGUgOiA8YnI+ClRoZXJlIGFyZSA1IHNvbGRpZXJzIChBIEIgQyBEIEUpd2l0aCBsZXZlbCBudW1iZXJzIDogMiA0IDUgNiA0Ozxicj4KT25lIG1ldGhvZCA6PGJyPgpDIGNvdWxkIHRlYWNoIEI7IEIgY291bGQgdGVhY2ggQTsgU28gLCBBIEIgQyBhcmUgZWxpZ2libGUgdG8gc3R1ZHkgb24gdGhlIHNhbWUgYnJvb21zdGljay48YnI+CkQgY291bGQgdGVhY2ggRTtTbyBEIEUgYXJlIGVsaWdpYmxlIHRvIHN0dWR5IG9uIHRoZSBzYW1lIGJyb29tc3RpY2s7PGJyPgpVc2luZyB0aGlzIG1ldGhvZCAsIHdlIG5lZWQgMiBicm9vbXN0aWNrcy48YnI+CkFub3RoZXIgbWV0aG9kOjxicj4KRCBjb3VsZCB0ZWFjaCBBOyBTbyBBIEQgYXJlIGVsaWdpYmxlIHRvIHN0dWR5IG9uIHRoZSBzYW1lIGJyb29tc3RpY2suPGJyPgpDIGNvdWxkIHRlYWNoIEI7IFNvIEIgQyBhcmUgZWxpZ2libGUgdG8gc3R1ZHkgb24gdGhlIHNhbWUgYnJvb21zdGljay48YnI+CkUgd2l0aCBubyB0ZWFjaGVyIG9yIHN0dWRlbnQgYXJlIGVsaWdpYmxlIHRvIHN0dWR5IG9uIG9uZSBicm9vbXN0aWNrLjxicj4KVXNpbmcgdGhlIG1ldGhvZCAsd2UgbmVlZCAzIGJyb29tc3RpY2tzLjxicj4Koa2hrTxicj4KPGJyPgpBZnRlciBjaGVja2luZyB1cCBhbGwgcG9zc2libGUgbWV0aG9kLCB3ZSBmb3VuZCB0aGF0IDIgaXMgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGJyb29tc3RpY2tzIG5lZWRlZC4gPGJyPgoKCiAKPGJyPgoKSW5wdXQKCklucHV0IGZpbGUgY29udGFpbnMgbXVsdGlwbGUgdGVzdCBjYXNlcy4gPGJyPgpJbiBhIHRlc3QgY2FzZSx0aGUgZmlyc3QgbGluZSBjb250YWlucyBhIHNpbmdsZSBwb3NpdGl2ZSBudW1iZXIgTiBpbmRpY2F0aW5nIHRoZSBudW1iZXIgb2Ygc29sZGllcnMuKDA8PU48PTMwMDApPGJyPgpOZXh0IE4gbGluZXMgOlRoZXJlIGlzIG9ubHkgb25lIG5vbm5lZ2F0aXZlIGludGVnZXIgb24gZWFjaCBsaW5lICwgaW5kaWNhdGluZyB0aGUgbGV2ZWwgbnVtYmVyIGZvciBlYWNoIHNvbGRpZXIuKCBsZXNzIHRoYW4gMzAgZGlnaXRzKTs8YnI+CgoKIAo8YnI+CgpPdXRwdXQKCkZvciBlYWNoIGNhc2UsIG91dHB1dCB0aGUgbWluaW11bSBudW1iZXIgb2YgYnJvb21zdGlja3Mgb24gYSBzaW5nbGUgbGluZS4KCiAKPGJyPgoKU2FtcGxlIElucHV0Cgo8cHJlIGNsYXNzPQ=="brush:java;">4
10
20
30
04
5
2
3
4
3
4
Sample Output
1
2
題目說一把掃帚。高的可以教低的。做他的老師。低的當然是學生。問最少需要多少把掃帚。看同一個級別的最多有多少個。同一級別最多的就是需要掃帚的個數。典型的可以用hash做。。但是我不是。。
#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 30000 + 50;
int n;
int a[maxn];
int ans;
int main()
{
while(scanf("%d", &n) == 1 )
{
memset(a, 0, sizeof(a));
int b;
ans = -0x3f3f3f3f;
int t = 1;
int temp = 1;
for(int i=1; i<=n; i++)scanf("%d", &a[i]);
sort(a+1, a+n+1);
if( n==1 )
printf("1\n");
else
{
for(int i=2; i<=n; i++)
{
if( a[i] == a[i-1] ){t++;temp = t;}
else t = 1;
if( temp>ans ){ans = temp;temp = 1;}
}
printf("%d\n", ans);
}
}
return 0;
}